Call a function while setting class properties

后端 未结 2 1579
广开言路
广开言路 2021-01-20 09:44

Is accessing functions while setting class properties possible in PHP (5.2 or 5.3) ?

class DAOClass {

   var $someProperty = SomeObject::staticMethod(\'read         


        
相关标签:
2条回答
  • 2021-01-20 09:56

    It is not possible because you have to initialize the properties with constant values. It isn't even possible to do this:

    var $property = array(0);
    

    The way to do what you want to do is inside the class constructor:

    class DAOClass {
    
        var $someProperty;
    
        public function __construct() {
             $this->someProperty = SomeObject::staticMethod('readConfigProperty');
        }
    }
    

    As a side note, using var to declare properties is not the preferred way. Use private, protected or public instead to declare a property along with its visibility (var defaults to public).

    0 讨论(0)
  • 2021-01-20 10:06

    No. In the class declaration you define properties. You do not assign them anything. Everything after the = must be a literal constant. Method/function calls are expressions and cannot be used there.

    0 讨论(0)
提交回复
热议问题