php中的步骤链

WBOY
Lepaskan: 2016-06-13 13:04:13
asal
847 orang telah melayarinya

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


Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!