【发布时间】:2016-01-18 23:19:19
【问题描述】:
我有一个 PHP 接口和一个实现它的类。 当我尝试使对象实例化时,(网页)页面变为完全白色,即使显示错误为“打开”并且如果错误报告设置为 E_ALL,它也不会显示任何错误,则不会报告任何内容,也不会出现 php 错误日志或 apache 错误日志。
这是代码。
<?php
namespace it\MyCompany\OtherCompany\System;
interface IInsertUserQueryStrategy{
/**
*
* @param User $u
* @param array $defaultParameters
* @param string $ua
*/
public function insert(User $u, $defaultParameters = array(), $ua = null);
}
实现它的类
<?php
namespace it\MyCompany\OtherCompany\ICF\System;
use it\MyCompany\OtherCompany\System\IInsertUserQueryStrategy;
class ICFInsertUserQueryStrategy implements IInsertUserQueryStrategy{
public function insert(ICFUser $u, $defaultParameters = array(), $ua = null){
$u->setActivationKey();
$parameters = array_merge($defaultParameters,
array (ICFUserPeer::VERIFICATION_KEY => $u->getActivationKey(),
ICFUserPeer::NOME => $u->getNome(),
ICFUserPeer::COGNOME => $u->getCognome(),
ICFUserPeer::EMAIL => $u->getEmail(),
ICFUserPeer::CELLULARE => $u->getCellulare(),
ICFUserPeer::PASSWORD => $u->getPassword(),
ICFUserPeer::PRIVACY => (int)$u->getPrivacyMarketing(),
ICFUserPeer::PDV => $u->getPuntoVendita(),
ICFUserPeer::FIDELITY => $u->getFidelity(),
ICFUserPeer::TIPOCARD => $u->getTipoCard(),
ICFUserPeer::TIPO_AZIONE => UserPeer::WS_CONSUMERHANDLER_INSERT));
if (! is_null ( $ua )) {
$parameters = array_merge ( $parameters, $ua );
}
return $parameters;
}
}
我使用composer和autoload系统,这两个类同目录下的其他类/文件加载没有问题。
$is = new ICFInsertUserQueryStrategy(); //This generate some error wtih blank page
【问题讨论】:
-
有什么错误?
-
这正是问题所在!我不知道,它只是停止页面,只是一个没有错误报告的白页。试图在 $is = new ICFInsertUserQueryStrategy() 之后打印一个 var_dump 它什么也没显示。
-
在尝试设置之前尝试设置
error_reporting(E_ALL);。 -
error_reporting(-1);
-
你在哪里调用这个类?在同一个文件或任何其他文件中。如果在任何其他文件中,则使用 new \it\MyCompany\OtherCompany\ICF\System\ICFInsertUserQueryStrategy()