What does "->" do or mean in PHP?
我在很多地方都看到过这个,但从来没有理解它的含义或工作原理......
例如:
1 2 3 4 5 6 | // Registry $registry = new Registry(); // Loader $loader = new Loader($registry); $registry->set('load', $loader); |
如果有人能详细说明这一点,我将非常感激......
提前谢谢...
调用类实例的方法或访问类实例的字段。您可能会发现此页面很有用。
它的用途是面向对象的编程。考虑以下几点:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | 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"\ "; echo $myobject->get_y(); // echoes '8' echo $myobject->y; // causes an error, because y is private |
您会看到它是如何用于引用对象的属性(我们在类定义中指定的变量)以及对象的方法(函数)。在方法中使用它时,它可以指向任何属性和任何方法,但在类定义之外使用时,它只能指向声明为"public"的东西。
// 注册表
$registry = new Registry();
// 加载器
$loader = new Loader($registry);
$registry->set(\\'load\\', $loader);
这里 $registry->set(\\'load\\', $loader);是对函数 set(\\'load\\',$loader) 的调用,它在 Registry Class 中定义。
$registry 也是 Registry() 类的实例或对象。因此使用这个对象,注册类的 set() 函数被调用。
这是来自 C 的继承,通过指针访问成员(方法或属性)。
更多 C 运算符请查看维基百科