华域联盟 PHP PHP 中的”->”是什么意思?

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


本文由 华域联盟 原创撰写:华域联盟 » PHP 中的”->”是什么意思?

转载请保留出处和原文链接:https://www.cnhackhy.com/158086.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部