我有一个必须使用其他倍数对象实例化的A类classA{function__construct(newX(),newY(),newZ()){$this->foo='foo';}}为了省去这个类实例化的麻烦,我为这个类建立了一个工厂。classA_Factory{publicstaticfunctioncreate_A(){returnnewA(newX(),newY(),newZ());}}我有一个扩展类A的类B。我的问题是我不知道如何在B类中实例化A类以访问属性“foo”。我觉得尝试很自然:classBextendsA{function__construct(){A_Factory::
我正在尝试创建我的第一个PHP类,但一直被困在如何更新protected字符串上。我想做的是创建一个扩展类,该扩展类可以处理来自主类的protected字符串。我能够在第一个类加载时更新字符串,但是当我加载我的扩展类时它不显示更新的文本。我做错了什么?classtest{protected$testing='test';function__construct(){echo"TheTestclasshasloaded(".$this->testing.")";$this->testing='changed';echo"Updatedto(".$this->testing.")";}}cl
我正在尝试编写一个PDO包装器,但我在构造函数方面遇到了一些问题。理想情况下,我想调用父级的构造函数,但由于某种原因,这是行不通的。我尝试(测试)检查是否创建了一个新的PDO并且确实有效,我发现这最令人困惑。这是我的代码:classdbextendsPDO{private$dbconn;publicfunction__construct(){$dsn='mysql:dbname='.MYSQL_DB.';host='.MYSQL_HOST;$user=MYSQL_USER;$pw=MYSQL_PW;try{$this->dbconn=parent::__construct($dsn,$
我想知道为什么我会收到以下php通知:(!)Notice:Mongo::__construct():parsingserversinC:\htdocs\multishop\library\Lupi\Resource\Odm.phponline38CallStack#TimeMemoryFunctionLocation10.0004138504{main}()..\index.php:020.0130667392Zend_Application->bootstrap()..\index.php:2530.0130667488Zend_Application_Bootstrap_Boots
你能告诉我returnself::__construct()和returnnewself()之间的确切区别吗?看起来实际上可以在创建对象时从__construct()调用返回一个self::__construct(),返回对象本身就像第一个__construct()从未被调用过。 最佳答案 这在代码中得到了最好的说明:classMyClass{public$arg;publicfunction__construct($arg=NULL){if($arg!==NULL)$this->arg=$arg;return$this->arg;
我在__construct()中定义了一个新变量,我想在这个class的另一个function中使用它。但是我的变量在另一个函数中是空的!这是我的代码:classtestObject{function__construct(){global$c;$data=array("name"=>$c['name'],"family"=>$c['family']);}functionshowInfo(){global$data;print_r($data);}} 最佳答案 在构造函数中将变量$data声明为全局变量:function__cons
我很高兴遇到一个变量范围问题。也许我只是需要更多的咖啡...这是我的(简化的)代码-这是在CodeIgniter2中:classAgentextendsCI_Controller{publicfunction__construct(){parent::__construct();$this->load->model('agent_model');//Getpreliminarydatathatwillbeoften-usedinAgentfunctions$user=$this->my_auth_library->get_user();$agent=$this->agent_model
我知道在Java中,构造函数中的super()必须作为重写构造函数的第一行调用。这是否也适用于PHP中的parent::__construct()调用?我发现自己写了一个这样的异常类:classMyExceptionextendsException{publicfunction__construct($some_data){$message='';$message.=format_data($some_data);$message.='waspassedbutwasnotexpected';parent::__construct($message);}}我想知道这是否会被视为PHP中的
我正在使用PHPStorm并试图找出当__construct()在其PHPDocs中有@returnvoid时如何让它停止尖叫...根据PHPDocs,void是有效的,或者可以省略@return。话虽这么说,有没有办法解决这个问题或者这是一个错误? 最佳答案 不幸的是,您不能只关闭这个非常具体的检查。需要关闭整个PHPDoc方法签名检查。幸运的是你可以setthescopeoftheinspection仅作为您自己的项目代码,忽略第3方库和框架。请参阅说明下方右侧的范围下拉列表。您还可以根据具体情况关闭每个PHPDoc注释上方的检
在以前版本的Laravel中,在我需要访问已登录用户的所有方法中的Controller中,我曾经做过这样的事情:classDashboardControllerextendsController{private$user;function__construct(Request$request){$this->middleware('auth');$this->user=\Auth::user();}functionfunc_1(){$objects=Objects::where('user_id',$this->user->id)->get();}functionfunc_2(){$o