が行方不明投げ、それはコントローラのメソッド宣言で入力-ヒントRequestオブジェクトにsuggestedです:Requestオブジェクトの型を示唆したライブラリー法にはLaravel 5.2では、引数エラー
私は1つで同じことをやろうとしています私のライブラリの:私は以下のコードに示すように、ライブラリのメソッドを使用しようとすると
<?php
namespace App\Libraries;
use Illuminate\Http\Request;
class MyLibrary {
public static function doStuff(Request $request) {
//...
}
}
はしかし、私は不足している引数のエラーを取得:
<?php
namespace App\Http\Controllers;
use App\Libraries\MyLibrary;
class DefaultController extends Controller {
public function __construct() {
MyLibrary::doStuff(); // => trows missing argument error
}
}
今、私はdoStuff()
メソッドにRequestオブジェクトをヒントしました。なぜ私は引数を渡す必要がありますか?私は、タイプヒントはメソッドに必要なリソースを注入する方法だと思ったので、必ずしも直接渡す必要はありません。私はその概念を間違って理解していますか?
Laravelでは、タイプヒントやコントローラーについては内部的な魔法が起こっていると私は理解しています。 'public function update(Request $ request、$ id)'のように、 'update'メソッドは' id'を渡す必要がありますが、 'Request'パラメータは内部的に扱われます。 – lesssugar
はい、Laravelはかなり魔法に見えるかもしれませんが、結局PHPです。 – Amarnasan