我应该在类或构造函数中放置变量吗? PHP

我的问题是OOP的最佳实践之一。 我使用Codeigniter框架/ PHP。

我有一堂课:

class Test() {

    var $my_data = array();

    function my_function() {

        //do something

    }

}

像这样在类中声明$ my_data可以吗? 或者它应该在构造函数中? 基本上,每个函数都会写入$ my_data,因此在某种意义上它将是一个全局变量(全局?,不确定术语)

另外,我应该使用var还是private? 是var弃用赞成声明变量范围?


如果您希望$my_data可用于Test所有方法,则必须在类级别声明它。

class Test {

    private $my_data1 = array(); // available throughout class

    public function __construct() {
        $my_data2 = array(); // available only in constructor
    }

}

var已被弃用,并且与public同义。 如果$my_data不需要在Test外可用,则应声明为private


在这里找到我的'var'问题的答案PHP关键字'var'做什么?


如果它属于“上课”,则将其放入课堂。 如果它属于“类的一个实例”,则将其放入构造函数中。 不过,听起来你应该使用会话。

链接地址: http://www.djcxy.com/p/96553.html

上一篇: Should I place variables in class or constructor? PHP

下一篇: PHP class: Global variable vs Accessbale varibales