dongle7553 2015-10-20 02:30
浏览 79
已采纳

无法实例化php对象

I have a PHP interface and a class that implements it. When i'm trying to instatiate the object the (web) page become completely white, it doesn't display any error even if display errors is "on" and if error reporting is set to E_ALL, nothing is reported nor in the php error log or apache error log.

This is the code.

<?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);
    }

The class that implements it

<?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;
    }

}

I use composer and the autoload system, other classes/files contained in the same directory of these two classes are loaded without problem.

$is = new ICFInsertUserQueryStrategy(); //This generate some error wtih blank page

展开全部

  • 写回答

1条回答 默认 最新

  • dou29106 2015-10-20 02:45
    关注

    As the definition of insert method should be same you can not use ICFUser

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?