我在具有静态功能的自定义Magento模型中有一个自定义模型:classABC_Module_Model_ClassName{staticpublicfunctionsend($something){//dosomethingstatic}}现在我这样调用这个函数:ABC_Module_Model_ClassName::send($something);//worksandisnothingwrongwithit更多的是出于一致性的目的,我想知道Mage是否有调用静态方法的内部方式,像这样:Mage::getModel('abc/module_className')::send($so
我已经在我的config.yml中定义了哈希盐,并且想在我的用户类中得到它,关于如何做到这一点有什么想法吗?我见过很多关于如何在Controller类中使用它的示例,但在模型中却没有?谢谢 最佳答案 我也有同样的疑问。如果symfony1中有类似于sfConfig::get()的东西就好了。无论如何,我认为这实际上可能是“有更好的方法来做到这一点”的情况。如果在实例化User类时只使用setter注入(inject)(即使用setHashSalt()方法)怎么办?如果您从Controller实例化,您可以使用$this->conta
我对OOP很陌生,对PHP很生疏。我想知道这是否是从类中调用函数的有效方法?classnewclass{publicfunctiontestfunc{return'1';}}我可以这样调用它吗:echotestfunc->newclass();或者像这样:echonewclass()::testfunc;我总是在下面的示例中看到它的定义,它看起来像是额外的代码?:$this=newnewclass();$this->testfunc();echo$this;任何帮助将不胜感激,因为我刚刚开始思考这个OOP问题。如果我出去吃午饭,也许有人可以建议链接到一个非常好的指南,供真正的类/OOP
目前我在YII框架中工作,我在其中创建了一个扩展CFormModel的类,在该类中,我覆盖了以下函数:publicfunction__get($name)publicfunction__set($name,$value)我已进行以下检查以确保end_date和start_date不为空if(!empty($this->end_date)AND!empty($this->start_date)){**/*NotWorking*/**/*SomeApplicationLogic*/}但是它不能正常工作并且条件不满足。当我调试代码时,我开始知道$this->start_date和$this-
有没有什么方法可以不使用类前缀来访问PHP类的静态变量?例子:classA{protectedstatic$x="blahblah";publicstaticfunctionp(){print(A::$x);//我明白,那时$x可能是一个未初始化的局部变量,但是能够说/声明/设置在这些情况下解释器应该将$x解析为声明的成员是很有意义的更早。恕我直言,到处输入类前缀是一个重大失败。 最佳答案 如果您使用它的方法在同一个类中,您可以使用self::或static::。例如:classA{protectedstatic$x="blahbl
classBar{publicfunctiontest(){$this->testPublic();$this->testPrivate();}publicfunctiontestPublic(){echo"Bar::testPublic\n";}privatefunctiontestPrivate(){echo"Bar::testPrivate\n";}}classFooextendsBar{publicfunctiontestPublic(){echo"Foo::testPublic\n";}privatefunctiontestPrivate(){echo"Foo::testPr
我可能对此不太了解,但由于“用户名”变量是私有(private)的。这不应该是返回的一部分吗?如何使$username是私有(private)的且不输出,但公共(public)成员是?classMyClass{private$username="api";publicfunctioncreate_issue(){$this->public="Joe";return$this;}}$test=newMyClass();$test->create_issue();var_dump($test);classMyClass#1(2){private$username=>string(3)"ap
DateTimeZone类中有奇怪的常量classDateTimeZone{constUTC=1024;constALL=2047;...}我试图找到关于它们的任何信息。也尝试过使用它们:$dtz=newDateTimeZone(DateTimeZone::UTC);//throwsExceptionwithmessage//DateTimeZone::__construct():Unknownorbadtimezone(1024)或$dt=newDatetime('2016-02-0110:00:00',DateTimeZone::UTC);//throwsExceptionwith
我在这个问题上大发雷霆。PHP很新,但这太基础了,我只是想不出问题出在哪里。以下面的代码片段为例:classLG_Activity_Processor{//ActivityTypesconstSTATUS_DRAFT='draft';constSTATUS_PUBLISH='publish';...private$STATUS_FUTURE='future';define("STATUS_PRIVATE",'private');我最初打算只使用“const”构造,因为变量在运行时之前已完全定义,我只是认为语法比丑陋的“定义”更漂亮。问题是虽然const的定义没有给出任何错误,但每当我稍
不允许在不同的孤立类中使用相同的函数名称?我做错了什么?我将实际代码减少到进行某些测试所需的最低限度。在这里:";}doWork();}}classthePage{functionloadPage(){functiondoWork(){echo"IamfromthePage!";}doWork();}}//Startcheck.echo"Checking...";$conf=newconfFunctions();$conf->getConf();$page=newthePage();$page->loadPage();?>输出是:Checking...IamfromconfFuncti