2016-07-15 8 views
0

Laravel(5.2)では、使用されているすべてのクラスで参照オブジェクトをインスタンス化せずに、カスタムオブジェクトの静的および/または非静的関数を呼び出す方法はありますか?Laravel - オブジェクトをインスタンス化せずに静的関数を呼び出す方法

例:私は私のプロジェクト内のクラスのアロットにこの方法を使用していると私はちょうど私のインスタンスを作成せずにUtilities::doBeforeTask()またはUtilities->doBeforeTask()を呼び出すことができれば、それはかなりだろうパブリック関数でdoBeforeTask()

をクラスApp\Helpers\Utilities.phpを持っていますユーティリティは$obj = new Utilities();

+1

は 'パブリック静的関数doBeforeTask(にそれをリネームはないでしょう)'正確に達成:次のコードでどこでもそれを呼び出しますあなたが必要なもの? – apokryfos

答えて

2

静的メソッドとしてメソッドを定義します。ファイルのApp \ヘルパー\ Utilities.php

Utilities::doBeforeTask(); 

コード構造

namespace App\Library; 

class Utilities { 

//added new user 
public static function doBeforeTask() { 
    // ... you business logic. 
} 
} 
0

今はFooを呼び出す

class Foo 
{ 

    public static function staticFunction() { 
     return 'Hello World'; 
    } 
} 

を静的関数を定義するオブジェクト:: staticFunction()

+0

しかし、それはサービスプロバイダやエイリアスなどのcomposer.jsonで何らかの自動ロードや実装を必要としませんか? – boomdrak

+1

どこでも使用したい場合は、自動ロードでそれを要求するか、コンポーザでdepとして追加してください –

関連する問題