我有一个PHP接口和一个实现它的类。 当我试图实例化对象(网页)变为完全白色时,即使显示错误“开启”也没有显示任何错误,如果错误报告设置为E_ALL,则不会报告任何内容,也不会报告错误日志或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
答案 0 :(得分:1)
由于insert方法的定义应该相同,所以不能使用ICFUser