2016-03-06 57 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

對於函數變化,你必須返回$此,類() - >創建() - >完成() 類都必須設置爲單,並創建將不得不返回$此