搜索

首页  >  问答  >  正文

有关php对象的问题。

在使用KIRBY(一种CMS)的API时,发现了以下这种写法:

$page->children()->visible();

请问这种写法是什么意思,是对象中的函数中又嵌套函数吗?

淡淡烟草味淡淡烟草味2778 天前558

全部回复(1)我来回复

  • 我想大声告诉你

    我想大声告诉你2017-05-31 10:36:18

    没看过它的源码,但是是这样的,$page->children() 是返回了一个对象,这个对象中有 visible() 这个方法的。所以可以这样调用,这也叫链式调用。

    举个例子

    class Wallet
    {
        protected $money;
        
        public function money()
        {
            $this->money = new Money();
            return $this->money;
        }
    }
    
    class Money
    {
        protected $total;
        
        public function used($count)
        {
            $this->total -= $count;
        }
    }

    这里就可以这样链式调用

    $user = new User();
    $user->money()->used(23);

    回复
    0
  • 取消回复