这句话如何理解呢

php_cdsn2 2014-11-14 10:34:46
Model('seo')->type('index')->show();

最后翻译一下
...全文
85 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2014-11-14
  • 打赏
  • 举报
回复
Model('seo') 得到一个 seo 对象 ->type('index') 执行 seo 对象的 type 方法 ->show(); 执行 seo 对象的 show 方法
php_cdsn2 2014-11-14
  • 打赏
  • 举报
回复
引用 6 楼 php_cdsn2 的回复:
突然明白了!原来javascript中的连缀就是用的这个原理。
只不过javascript中用的是而不是箭头罢 了
php_cdsn2 2014-11-14
  • 打赏
  • 举报
回复
突然明白了!原来javascript中的连缀就是用的这个原理。
xuzuning 2014-11-14
  • 打赏
  • 举报
回复
只要这些函数(方法)返回的是对象,就可以用这种连续操作的写法 但是Model('seo')->type('index') 它此时可不是对象啊 你怎么知道他不是对象?
侑子的小伙伴 2014-11-14
  • 打赏
  • 举报
回复
引用 2 楼 php_cdsn2 的回复:
[quote=引用 1 楼 xuzuning 的回复:] Model('seo') 得到一个 seo 对象 ->type('index') 执行 seo 对象的 type 方法 ->show(); 执行 seo 对象的 show 方法
我的疑惑是,为啥用两个箭头呢,那样符合语法规范吗,因为我的理解 Model('seo')->type('index') 它是对象实例化后调用的一个方法,而它后面又再调用一个方法,但是Model('seo')->type('index') 它此时可不是对象啊,怎么能行呢[/quote] 调用的方法 返回 $this 即可这样级联
class  Orange{
    public function a(){
        echo "a";
        return $this;
    }
    public function b(){
        echo "b";
        return $this;
    }
    public function c(){
        echo "c";
        return $this;
    }
}


$orange = new Orange();
$orange->a()->c()->b();
acb
php_cdsn2 2014-11-14
  • 打赏
  • 举报
回复
如果能连续用箭头的话,那么一个类中有很多方法,是不是说,能用一长串箭头调用的写法呢
php_cdsn2 2014-11-14
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
Model('seo') 得到一个 seo 对象 ->type('index') 执行 seo 对象的 type 方法 ->show(); 执行 seo 对象的 show 方法
我的疑惑是,为啥用两个箭头呢,那样符合语法规范吗,因为我的理解 Model('seo')->type('index') 它是对象实例化后调用的一个方法,而它后面又再调用一个方法,但是Model('seo')->type('index') 它此时可不是对象啊,怎么能行呢

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧