用于类实例的PHP双箭头表示法

Dex*_*olf 8 php oop

如果有人向我解释在PHP中使用双箭头符号,我将不胜感激.我建议是一个双类和实例化的类,但我不确定.一些例子会很好.谢谢.

像这样的东西:

$obj->prop->methd();
Run Code Online (Sandbox Code Playgroud)

Mic*_*ski 13

这只表示$obj具有某种类的属性而不是原子变量.内部类有一个method()从第二个箭头操作符调用的方法.您还可以通过第二个箭头访问内部类的属性.

// Access the inner property
echo $obj->prop->inner_property
// 1234

// Call the inner method
$obj->prop->method();
// I'm the method!
Run Code Online (Sandbox Code Playgroud)

类定义可能类似于:

class obj
{
   // Will hold an instance of class Something
   public $prop;

   public function __construct() {
      $this->prop = new Something();
   }
}

class Something 
{
   public $inner_property = 1234;

   public function method() {
     echo "I'm the method!";
   }
}
Run Code Online (Sandbox Code Playgroud)


Jar*_*ish 5

例如,举两个类:

<?php

class a {
    function test() {
        echo "test";
    }
}

class b {
    var $prop = null;
    function __construct() {
        $this->prop = new a();
    }
}

$obj = new b();
var_dump($obj);
$obj->prop->test();

?>
Run Code Online (Sandbox Code Playgroud)

http://codepad.org/aEeRs45A

Class 在实例化时a提供$prop了一个方法,b并且调用了构造函数.$propin b是一个类的对象b.