我正在追踪ACL tut.已经使用了这段代码.
class ACL
{
var $perms = array();
var $userID = 0;
var $userRoles = array();
function __constructor($userID = '')
{
}
}
Run Code Online (Sandbox Code Playgroud)
但是我无法理解上面的一些声明.
a)在上面的类中使用var关键字声明了class属性,在数据封装中,我们不必在声明属性之前使用public,private或protected关键字.上面的方法是针对PHP4的吗?或者它也适用于php5?
b)我的IDE(恐慌尾声).将__construct作为构造函数的正确语法.上面的代码使用了__constructor.哪一个是正确的?根据我的PHP4知识,构造函数名称应该与类名相同,如果是这种情况那么__construct和__constructor一个在PHP5中是相同的吗?
谢谢
a)var
关键字确实可能是为了兼容PHP 4.var
等同于PHP 5 public
.它会在PHP 5,以及工作,但看到PHP 4的时候已经过去了,它是安全的移动到public
,private
和protected
.
b)__construct
,或PHP 4兼容声明的类的名称,是唯一正确的方法.__constructor()
不会声明构造函数方法.