无法实例化php对象

时间:2015-10-20 10:30:07

标签: php class oop interface

我有一个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

1 个答案:

答案 0 :(得分:1)

由于insert方法的定义应该相同,所以不能使用ICFUser