2016-03-06 45 views
1

我正在尝试创建一个函数,该函数将用于我的应用程序的各个部分。但我需要一些连锁的方式一样连锁laravel像下面php中的函数链接

response()->json(['data'=>'stuck with chaining functions']); 

其全球响应函数我需要实现这样的事情

db_logger()->create("user","Raise work order"); 
db_logger()->deleted("user","Updated wored order with id 1"); 

但我坚持的方法。这是我迄今为止所尝试过的,但要知道成功

use App\Models\LogSheet; 

if(!function_exists('db_logger')){ 

function db_logger(){ 

    function created($user, $activity){ 
     saveLog($user, $activity, "created"); 
    }; 

    $updated = function ($user, $activity){ 
     saveLog($user, $activity, "updated"); 
    }; 

    $deleted = function ($user, $activity){ 
     saveLog($user, $activity, "deleted"); 
    }; 

    $read = function ($user, $activity){ 
     saveLog($user, $activity, ""); 
    }; 

    $log = function ($user, $activity){ 
     saveLog($user, $activity, ""); 
    }; 

    $saveLog = function ($user, $activity,$activity_type){ 
     return LogSheet::create(compact('user','activity','activity_type')); 
    }; 

    } 
} 

但无济于事。

注意:请我知道类方法链接。我想要功能链的laravel风格。

+2

的laravel函数可能只是返回一个对象的实例,然后用' - >'调用一个方法。 ' - >'仅用于访问类的属性或方法。 (btw:函数定义末尾的分号是没用的。) – Rizier123

+0

请你能举个例子。我已经浏览了laravel帮助程序文件,但无法找到我的路径 – oseintow

+0

Laravel不链接函数,它链接对象方法....使用'with'“函数”或返回指定对象实例的façade –

回答

0

对于函数变化,你必须返回$此,类() - >创建() - >完成() 类都必须设置为单,并创建将不得不返回$此