Basic Routing(مسیریابی ساده)
بیشتر مسیرها برای برنامه شما در فایل app/routes.php تعریف خواهند شد. ساده ترین مسیرهای لاراول شامل یک URI و یک callback بسته است.
Basic GET Route(مسیر get ساده(
Route::get(‘/’, function()
{
return ‘Hello World’;
});
Basic POST Route(مسیر post ساده)
Route::post(‘foo/bar’, function()
{
return ‘Hello World’;
});
Registering A Route For Multiple Verbs(ثبت یک مسیر برای افعال چندگانه)
Route::match(array(‘GET’, ‘POST’), ‘/’, function()
{
return ‘Hello World’;
});
Registering A Route Responding To Any HTTP Verb (ثبت مسیری که به هر فعل HTTP پاسخ می دهد)
Route::any(‘foo’, function()
{
return ‘Hello World’;
});
Forcing A Route To Be Served Over HTTPS(اجبار یک مسیر به سرویس دهی از طریق HTTPS)
Route::get(‘foo’, array(‘https’, function()
{
return ‘Must be over HTTPS’;
}));
اغلب، شما نیاز به ایجاد URL برای مسیرهای خود دارید، می توانید این کار را با استفاده از متد URL::to انجام دهید:
$url = URL::to(‘foo’);
Route Parameters (پارامترهای مسیر)
Route::get(‘user/{id}’, function($id)
}
return ‘User ‘.$id;
});
23 مرداد
Optional Route Parameters(پارامتر های مسیر اختیاری)
Route::get(‘user/{name?}’, function($name = null)
{
return $name;
});
Optional Route Parameters with defaults(پارامترهای مسیر اختیاری با پیش فرض)
Route::get(‘user/{name?}’, function($name = ‘John’)
{
return $name;
});
Regular Expression Route Constraints
Route::get(‘user/{name}’, function($name)
{
//
})
->where(‘name’, ‘[A-Za-z]+’);
Route::get(‘user/{id}’, function($id)
{
//
})
->where(‘id’, ‘[0-9]+’);
Passing An Array of Wheres( پاس دادن آرایه ای از whereها)
البته، در صورت لزوم میتوانید مجموعهای از محدودیتها را تصویب کنید:
Route::get(‘user/{id}/{name}’, function($id, $name)
{
//
})
->where(array(‘id’ => ‘[0-9]+’, ‘name’ => ‘[a-z]+’))
Defining Global Patterns( تعریف الگوهای جهانی)
اگر میخواهید یک پارامتر مسیر همیشه توسط یک عبارت منظم محدود شود، میتوانید از متد پترن استفاده کنید:
Route::pattern(‘id’, ‘[0-9]+’);
Route::get(‘user/{id}’, function($id)
{
// Only called if {id} is numeric.
});
Accessing A Route parameter Value(دسترسی به مقدار پارامتر مسیر)
اگر نیاز به دسترسی به مقدار پارامتر مسیر در خارج از مسیر دارید، می توانید از متد Route::input استفاده کنید:
Route::filter(‘foo’, function()
{
if (Route::input(‘id’) == 1)
{
//
}
});
Route Filters ( فیلترهای مسیر)
فیلترهای مسیر راهی مناسب برای محدود کردن دسترسی به یک مسیر مشخص میکنند که برای ایجاد مناطقی از سایت شما که نیاز به احراز هویت دارند مفید است. چندین فیلتر در چارچوب لاراول گنجانده شده است، از جمله یک
فیلتر auth، فیلتر auth.basic، فیلتر guest و فیلتر csrf. اینها در فایل app/filters.php قرار دارند.
Defining A Route Filter( تعریف فیلتر مسیر)
Route::filter(‘old’, function()
{
if (Input::get(‘age’) < 200)
{
return Redirect::to(‘home’);
}
});
اگر فیلتر پاسخی را برگرداند، آن پاسخ به عنوان پاسخ به درخواست در نظر گرفته می شود و مسیر اجرا نمی شود. فیلترهای بعد از مسیر نیز لغو می شوند.
Attaching A Filter To A Route( پیوست کردن یک فیلتر به یک مسیر)
Route::get(‘user’, array(‘before’ => ‘old’, function()
{
return ‘You are over 200 years old!’;
}));
Attaching A Filter To A Controller Action(پیوست کردن یک فیلتر به اکشن کنترلر)
Route::get(‘user’, array(‘before’ => ‘old’, ‘uses’ => ‘UserController@showProfile’));
Attaching Multiple Filters To A Route(پیوست کردن چندین فیلتر به یک مسیر)
Route::get(‘user’, array(‘before’ => ‘auth|old’, function()
{
return ‘You are authenticated and over 200 years old!’;
}));
قوانین ارسال دیدگاه در سایت