我在很多地方看过这个,但从来没有理解它的含义或工作...... 例如:
// Registry
$registry = new Registry();
// Loader
$loader = new Loader($registry);
$registry->set('load', $loader);
如果有人可以详细说明,我会非常感激...... 提前谢谢......
答案 0 :(得分:8)
调用类的实例上的方法或访问类的实例的字段。您可能会发现this page有用。
答案 1 :(得分:3)
它的用途是面向对象编程。请考虑以下事项:
class myclass {
public $x;
private $y;
public function get_y () {
return $this->y;
}
public function __construct ($new_x, $new_y) {
$this->x = (int)$new_x;
$this->y = (int)$new_y;
}
}
$myobject = new myclass(5, 8);
echo $myobject->x; // echoes '5';
echo "\n";
echo $myobject->get_y(); // echoes '8'
echo $myobject->y; // causes an error, because y is private
您将看到如何使用它来引用对象的属性(我们在类定义中指定的变量)以及对象的方法(函数)。当你在一个方法中使用它时,它可以指向任何属性和任何方法,但是当在类定义之外使用它时,它只能指向被声明为“public”的东西。
答案 2 :(得分:0)
这是C ++的遗产,通过指针访问成员(方法或属性)。
答案 3 :(得分:0)
//注册表 $ registry = new Registry();
// Loader $ loader = new Loader($ registry); $ registry-> set('load',$ loader);
这里$ registry-> set('load',$ loader);是函数集('load',$ loader)的调用,它在Registry Class中定义。
$ registry也是Registry()类的实例或对象。因此使用此对象时,将调用Registry类的set()函数。