【问题标题】:How can I build "Class::function()->function($parm)->function($parm);" methods in PHP and how it works? [duplicate]如何构建“Class::function()->function($parm)->function($parm);” PHP 中的方法及其工作原理? [复制]
【发布时间】:2016-12-17 07:17:49
【问题描述】:

我想知道一些 PHP 框架使用的方法如下 Class::function()->function($parm)->function($parm); 以 Laravel 为例 DB::table('users')->where('name', 'John')->value('email');

这些方法在内部是如何工作的?

我怎样才能建立自己的这种方法?

请帮帮我。

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    Foo::function()->function Two() 它是对一个返回新实例的公共函数的静态调用。

    Class foo{
          Public static function (){
                Return new class bar();
           }
    
    Class bar{
         Public function functionTwo(){
             //Some code
         }
    

    请记住,这并不总是好的,因为它违反了 demeter 法则https://en.m.wikipedia.org/wiki/Law_of_Demeter

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-26
      • 1970-01-01
      • 2014-02-18
      • 2011-05-02
      • 1970-01-01
      • 2023-02-09
      • 1970-01-01
      • 2014-07-13
      相关资源
      最近更新 更多