بخش اول - پردازش درخواست و پاسخ
لاراول برای مدیریت درخواستها از کلاس Illuminate\Http\Request استفاده میکند که قابلیتهای زیادی برای دسترسی و فیلتر کردن دادههای ورودی دارد.
این کلاس معمولا در Controller ها یا Route-Closure ها استفاده می شود:
class UserController extends Controller
{
public function store(Request $request)
{
$request->...
}
}
// OR
Route::get('/', function(Request $request) {
$request->...
});
در ادامه با متد های در دسترس از این کلاس آشنا می شویم.
1- متد path
این متد مسیر درخواست شده را بدون دامنه برمیگرداند.
$request->path(); // posts/10
2- متد is
بررسی میکند که مسیر درخواست با یک الگو مطابقت دارد یا نه.
if ($request->is('posts/*')) {
}3- متد routeIs
بررسی میکند که مسیر درخواست با نام روت خاصی مطابقت دارد یا نه.
if ($request->routeIs('post.show')) {
}4- متد url
آدرس کامل بدون query string را برمیگرداند.
$request->url(); // http://example.com/posts/10
5- متد fullUrl
آدرس کامل شامل query string را برمیگرداند.
$request->fullUrl();
// http://example.com/posts/10?sort=desc
6- متد fullUrlWithQuery
یک پارامتر کوئری را به URL اضافه میکند.
$request->fullUrlWithQuery(['page' => 2]);
// http://example.com/posts?sort=desc&page=2
7- متد fullUrlWithoutQuery
برخی از پارامترهای کوئری را از URL حذف میکند.
$request->fullUrlWithoutQuery(['sort']);
// http://example.com/posts?page=2
8- متد host
دامنه درخواست را برمیگرداند.
$request->host(); // example.com
9- متد httpHost
دامنه همراه با پورت را برمیگرداند.
$request->httpHost(); // example.com:8080
10- متد schemeAndHttpHost
پروتکل (http یا https) و دامنه را برمیگرداند.
$request->schemeAndHttpHost();
// https://example.com
11- متد ip
آدرس IP درخواستدهنده را برمیگرداند.
$request->ip(); // 192.168.1.1
12- متد ips
لیست IPهای درخواستدهنده را برمیگرداند.
$request->ips();
// [192.168.1.1, 10.0.0.2]
13- متد method
متد HTTP درخواست (GET, POST, PUT, DELETE) را برمیگرداند.
$request->method(); // POST
14- متد isMethod
بررسی میکند که متد HTTP درخواست مقدار خاصی دارد یا نه.
if ($request->isMethod('post')) {
}15- متد header
مقدار یک هدر خاص را برمیگرداند.
$request->header('User-Agent'); // "Mozilla/5.0"16- متد hasHeader
بررسی میکند که آیا یک هدر مشخص در درخواست وجود دارد یا نه.
if ($request->hasHeader('Authorization')) {
}17- متد bearerToken
مقدار Bearer Token در هدر Authorization را برمیگرداند.
$request->bearerToken();
18- متد getAcceptableContentTypes
لیستی از انواع محتوای مورد قبول در هدر Accept را برمیگرداند.
$request->getAcceptableContentTypes();
// ['application/json', 'text/html']
19- متد accepts
بررسی میکند که آیا نوع محتوای مشخصشده پذیرفته شده است یا نه.
if ($request->accepts('application/json')) {
}20- متد prefers
نوع محتوای ترجیحی را برمیگرداند.
$request->prefers(['text/html', 'application/json']);
21- متد expectsJson
بررسی میکند که آیا درخواست انتظار JSON دارد یا نه.
if ($request->expectsJson()) {
}22- متد flash
دادهها را برای درخواست بعدی در سشن ذخیره میکند.
$request->flash();
23- متد flashOnly
برخی از دادهها را در سشن ذخیره میکند.
$request->flashOnly(['name', 'email']);
24- متد flashExcept
تمام دادهها بهجز موارد مشخصشده را در سشن ذخیره میکند.
$request->flashExcept(['password']);
25- متد only
فقط مقادیر مشخصشده را از درخواست دریافت میکند.
$request->only(['name', 'email']);
26- متد except
تمام مقادیر درخواست بهجز موارد مشخصشده را دریافت میکند.
$request->except(['password']);
سایر متد ها در پست بعدی توضیح داده میشود.
#laravel #لاراول #فصل_۶
@AmirhDeveloper
.