首頁  >  文章  >  後端開發  >  php中的步骤链

php中的步骤链

WBOY
WBOY原創
2016-06-13 13:04:13877瀏覽

php中的方法链
在如zend,cakephp等不少框架中,会看到如下面的类的调用方式,如
$obj->foo()->bar()->anotherMethod(); 
这个其实是利用了PHP中的方法链的调用方法,下面看个例子就明白了:
class Person  
{  
    private $name;  
    private $age;  
      
    public function setName($Name)  
    {  
        $this->name = $Name;  
    }  
      
    public function setAge($Age)  
    {  
        $this->age = $Age;  
    }  
      
    public function findMe()  
    {  
echo "My name is ".$this->name." and I am ".$this->age. " years old.";  
    }  


正常方式的调用:
$myself = new Person();  
$myself->setName('Arvind Bhardwaj');  
$myself->setAge('22');  
$myself->findMe(); 

用方法链的话:
class Person  
{  
    private $name;  
    private $age;  
      
    public function setName($Name)  
    {  
        $this->name = $Name;  
return $this;//Returns object of 'this' i.e Person class  
    }  
      
    public function setAge($Age)  
    {  
        $this->age = $Age;  
return $this;//Again returns object of 'this' i.e Person class  
    }  
      
    public function findMe()  
    {  
echo "My name is ".$this->name." and I am ".$this->age. " years old.";  
    }  

调用时就可以:
$myself = new Person();  
$myself->setName('Arvind Bhardwaj')->setAge('22')->findMe(); 


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn