草庐IT

private-inheritance

全部标签

php - 我可以在 phpunit 类中使用私有(private)函数吗?

我在“DefaultControllerTest”中有一些公共(public)函数。但是这些公共(public)函数中有一些通用代码-例如,我测试了几个不同的页面以确保出现一些文本。所以代码是类似的。所以我将公共(public)代码放入一个私有(private)函数中,然后我可以从每个公共(public)函数(从每个测试)调用它。但是我收到了这个错误:测试类“MyApp\MyBundle\Tests\Controller\DefaultControllerTest”中的测试方法“testHeader”未公开。testHeader是我从每个公共(public)函数测试的私有(privat

php - 永久设置私有(private)类变量 PHP

问题:我想在类中永久设置私有(private)变量,然后从类外部使用getter函数访问它们。问题是每次我实例化一个新类并创建一个对象时,它都会破坏先前设置的变量。在提供的示例中,我不想通过调用函数“getAgain”传递对象。我想简单地访问globalVars类而不破坏任何设置变量。我知道通过创建一个“新对象”本质上会破坏当前的非静态变量。所以:如何在类中永久设置私有(private)变量?或如何在不重新实例化类的情况下调用函数(getter/setter)(为了不破坏当前设置的var(s))。我担心我没有以正确的方式处理这个问题,或者我的方法可能有缺陷。";publicfuncti

php - 为什么PHP私有(private)变量在扩展类时公开

我创建了跟随类PHP版本5.5abstractclassModel{var$id;private$cName;private$tName;publicfunction__construct($id=0){$this->cName='ImcName';$this->tName='ImtName';}}然后是扩展类classclaseExtendextendsModel{var$id;publicfunctionhola(){$this->id=1;return(array)$this;}}如果我执行这个:$obj=newclaseExtend();$retHola=$obj->hola(

php - print_r 显示私有(private)变量。为什么?

为什么print_r可以看到私有(private)属性$version,即使它的范围设置为private?classmyClass{private$version;publicfunctionset_version($value){$this->version=$value;}}$class=newmyClass();$class->set_version("1.2");echo"";print_r($class); 最佳答案 print_r()显示用于调试目的的私有(private)成员属性。它不应用于出于显示目的输出对象(例如在

PHP 反射 : How to know if a ReflectionMethod is inherited?

在ReflectionMethoddocumentation,我找不到任何信息可以知道某个方法是从其父类继承的还是在反射类中定义的。编辑:我使用ReflectionClass::getMethods().我想知道每个方法是在被反射(reflect)的类中定义的,还是在父类中定义的。最后,我只想保留当前类中定义的方法。classFoo{functiona(){}functionb(){}}classBarextendsFoo{functiona(){}functionc(){}}我想保留a和c。 最佳答案 您应该可以调用Reflect

php - 在静态函数中访问公共(public)/私有(private)函数?

由于您不能不在静态函数中使用$this->,您应该如何访问静态函数中的常规函数​​?privatefunctionhey(){return'hello';}publicfinalstaticfunctionget(){return$this->hey();}这会引发错误,因为您不能在静态中使用$this->。privatefunctionhey(){return'hello';}publicfinalstaticfunctionget(){returnself::hey();}这会引发以下错误:Non-staticmethodVote::get()shouldnotbecalledst

php - Laravel 私有(private)变量在 Controller 中的两个方法之间共享

如何在LaravelController中使用私有(private)变量,并在两个方法之间共享该变量值。(在一个中设置它在另一个中使用它)。 最佳答案 您是在谈论一个Controller,对吗?所以我假设这就是你的意思:classControllerControllerextendsController{private$variable;publicfunction__construct($whatever){$this->variable=$whatever;}publicfunctionmethod1($newValue){$t

php - 在扩展类(class)中调用私有(private)电话?

我有一个包含函数funcB()的父类,我想通过在此函数中做一些更改来用更好的函数覆盖它。父类中的这个函数调用同一个类中的另一个私有(private)函数。示例代码:classclassA{privatefunctionfuncA(){return"funcAcalled";}publicfunctionfuncB(){$result=$this->funcA();return$result;}}classClassBextendsClassA{publicfunctionfuncB($a){//dosomemorestuff$result=$this->funcA();return$r

php - Doctrine Inheritance - 从 Joined table 继承 Single_Table

这是我想要的配置:一个实体“Account”与另外两个实体“Author”和“AccountBackend”的JOINED继承。然后我希望“AccountBackend”与其他两个实体“Administrator”和“FeaturedAuthor”具有SINGLE_TABLE继承。这是我定义它们的方式:账户.php/***@Entity(repositoryClass="Repositories\Account")*@Table(name="accounts")*@InheritanceType("JOINED")*@DiscriminatorColumn(name="discr",t

PHP - 何时在类中使用私有(private)静态属性

我正在学习php,但在这门语言中我还有很多不清楚的地方。我想知道我们什么时候以及为什么要在类中使用privatestaticproperties。据我了解,私有(private)属性只能由定义它的类访问。所以,私处明了,静处还不清楚。在文档中它说:Declaringclasspropertiesormethodsasstaticmakesthemaccessiblewithoutneedinganinstantiationoftheclass.Apropertydeclaredasstaticcannotbeaccessedwithaninstantiatedclassobject(t