我在很多地方都看到过这个,但从来没有理解它的含义或工作原理......
例如:
1 2 3 4 5 6 |
// Registry $registry = new Registry ( ) ; // 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 ( ) { public function __construct ( $new_x , $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