0

バインディングの静的関数にアクセスするにはどうすればよいですか? それは可能ですか?

これまでのところ機能するのは次のとおりです。

serviceProvider の boot() メソッドで:

$this->app->bind('MyInterface', function(){

                return new MyImplementation();
            });

またはlaravelのリフレクションを介して(同じように機能します):

$this->app->bind('MyInterface', 'MyImplementation');

そして、私のビジネスロジックでは:

$interfaceObject = app::make('MyInterface');
$interfaceObject->create();

機能しないもの:

バインドされた実装クラスで create() 関数が静的である場合、次のことはできません。

MyInterface::create();

どうすればいいですか?ファサードは「偽の」静的メソッドを実際のオブジェクトに対してマップするため、ファサードは解決策であってはなりません。

4

1 に答える 1