PHP对象类变量(PHP object class variable)

2019-07-04 14:28发布

我建立了一个PHP类,我必须声明一个类变量作为一个对象。 每次我要声明一个空物体使用:

$var=new stdClass;

但是,如果我用它来声明一个类变量

class foo
{
    var $bar=new stdClass;
}

发生解析错误。 有没有办法做到这一点还是我必须声明类变量作为构造函数的对象?

PS:我使用PHP 4。

Answer 1:

你只能声明静态值,这样的类成员,即intsstringsboolsarrays等等。 你不能做任何涉及任何形式的处理,比如调用功能或创建对象。

你必须做,在构造函数中。

相关手册部分 :

在PHP 4,仅var变量初始化为常量。 要使用非恒定值初始化变量,则需要当一个对象被从类构建了自动调用初始化函数。 这样的函数被调用构造函数(见下文)。



Answer 2:

类与对象(PHP 4) 。 很好看的,每次!



Answer 3:

你不应该在这里创建对象。

你最好写setter和getter

<?php
    class foo
    {
       var $bar = null;

       function foo($object = null)
       {
          $this->setBar($object);
       }

       function setBar($object = null)
       { 
          if (null === $object)
          {
             $this->bar = new stdClass();
             return $this;
          }

          $this->bar = $object;
          return $this;
       }
    }

顺便说一句,你应该使用PHP5与OOP的工作,这是更灵活的...



文章来源: PHP object class variable
标签: php oop class php4