PHP 中的”->”是什么意思? | 珊瑚贝

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);

如果有人能详细说明这一点,我将非常感激……
提前谢谢…

  • 根据您对 C 的熟悉程度,您可能会发现知道它与 C \\’s -> 基本相同很有用
  • (旁注)解析器令牌的正确名称是 T_OBJECT_OPERATOR – php.net/manual/en/tokens.php
  • 另请参阅stackoverflow.com/questions/1671602/…


调用类实例的方法或访问类实例的字段。您可能会发现此页面很有用。

  • 它就像java中的registry.set(),是吗?
  • 你知道你会怎么称呼它。比如说,在说话的时候,如果我指的是 AsyncTask.onProgressUpdate 方法,我可以说,”只需调用 AsyncTask dot onProgressUpdate。但如果是 this->doSomething(),那么我将如何在口语中引用它演讲?
  • @Arunabh:我会说”在 this 上调用 doSomething”。如果您需要专门参考 ->,您可以说”箭头”(尽管这可能不是标准术语)。


它的用途是面向对象的编程。考虑以下几点:

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 运算符请查看维基百科


来源:https://www.codenong.com/2987963/

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_9634.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?