Laravel内でURLクエリを使用できるかどうかは誰にもわかりますか。
例
次のルートがあります。
Route::get('/text', 'TextController@index');
また、そのページのテキストは、次のURLクエリに基づいています。
http://example.com/text?color={COLOR}
Laravel内でこれにどのようにアプローチしますか?
はい、可能です。これを試して:
Route::get('test', function(){
return "<h1>" . Input::get("color") . "</h1>";
});
http://example.com/test?color=red
にアクセスして呼び出します。
もちろん、あなたの心のコンテンツへの追加の引数でそれを拡張することができます。これを試して:
Route::get('test', function(){
return "<pre>" . print_r(Input::all(), true) . "</pre>";
});
さらにいくつかの引数を追加します。
http://example.com/?color=red&time=now&greeting=bonjour`
これはあなたに与えます
Array
(
[color] => red
[time] => now
[greeting] => bonjour
)
将来の訪問者のために、> 5.0
。 Laravelの Request
class を利用し、routes
およびcontroller
からビジネスロジックを排除するのに役立ちます。
URLの例
admin.website.com/get-grid-value?object=Foo&value=Bar
Routes.php
Route::get('get-grid-value', 'YourController@getGridValue');
YourController.php
/**
* $request is an array of data
*/
public function getGridValue(Request $request)
{
// returns "Foo"
$object = $request->query('object');
// returns "Bar"
$value = $request->query('value');
// returns array of entire input query...can now use $query['value'], etc. to access data
$query = $request->all();
// Or to keep business logic out of controller, I use like:
$n = new MyClass($request->all());
$n->doSomething();
$n->etc();
}
要求オブジェクトからの入力の取得の詳細については、 ドキュメントを読む 。
クエリパラメータは次のように使用されます。
use Illuminate\Http\Request;
class ColorController extends BaseController{
public function index(Request $request){
$color = $request->query('color');
}
public function fetchQuery(Request $request){
$object = $request->query('object');
$value = $request->query('value');
}