什么是“ - >”在PHP中做或意味着什么?

时间:2010-06-07 08:19:01

标签: php

我在很多地方看过这个,但从来没有理解它的含义或工作...... 例如:

// Registry
$registry = new Registry();

// Loader
$loader = new Loader($registry);
$registry->set('load', $loader);

如果有人可以详细说明,我会非常感激...... 提前谢谢......

4 个答案:

答案 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 ++的遗产,通过指针访问成员(方法或属性)。

For more C++ operators look here in wikipedia

答案 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()函数。