بخش اول - پردازش درخواست و پاسخ
در این قسمت به سایر متدهای در دسترس از کلاس Request می پردازیم.
1- متد cookie
مقدار یک کوکی را برمیگرداند.
$value = $request->cookie('user_token');2- متد all
تمام دادههای ورودی (query parameters، POST data، JSON payloads) را بهصورت آرایه برمیگرداند.
$data = $request->all();
3- متد collect
دادههای ورودی را بهعنوان Collection لاراول برمیگرداند.
کالکشنها در لاراول مجموعهای از دادهها هستند که امکانات پیشرفتهای برای کار با آرایهها ارائه میدهند.
در فصل های مربوطه به کار با کالکشن ها خواهیم پرداخت.
$collection = $request->collect();
4- متد input
مقدار یک ورودی خاص را دریافت میکند.
$name = $request->input('name');همچنین می توان input مورد نظر را به صورت پراپرتی دریافت کرد:
$name = $request->name;
5- متد query
مقدار یک متغیر در query string را دریافت میکند.
$sort = $request->query('sort', 'asc');پارامتر اول کلید کوئری و پارامتر دوم مقدار پیشفرض می باشد.
6- متد string
مقدار یک ورودی را بهعنوان Stringable لاراول برمیگرداند.
در لاراول Stringable همانند کالکشن که برای کار با آرایه ها است، برای کار با رشته ها می باشد.
$name = $request->string('name');این متد input با نام name را در قالب شئ از Stringable باز می گرداند و می توان متد های زیادی را بر روی آن فراخوانی کرد:
$name = $request->string('name')->upper();7- متد integer
مقدار ورودی را به عدد صحیح (integer) تبدیل میکند.
$age = $request->integer('age');8- متد boolean
مقدار ورودی را به مقدار بولی (true یا false) تبدیل میکند.
$active = $request->boolean('active');9- متد date
مقدار ورودی را به شیء Carbon تبدیل میکند.
کربن نیز یک کلاس برای کار با زمان ها می باشد.
$birthday = $request->date('birthday');10- متد enum
مقدار ورودی را با یک enum مقایسه میکند.
$status = $request->enum('status', OrderStatus::class);11- متد enums
چند مقدار ورودی را با یک enum بررسی میکند.
$statuses = $request->enums('statuses', OrderStatus::class);12- متد has
بررسی میکند که آیا مقدار مشخصی در درخواست وجود دارد یا نه.
if ($request->has('name')) {
}13- متد hasAny
بررسی میکند که آیا حداقل یکی از مقادیر مشخصشده در درخواست وجود دارد یا نه.
if ($request->hasAny(['name', 'email'])) {
}14- متد whenHas
اگر مقدار مشخصشده در درخواست وجود داشته باشد، یک تابع را اجرا میکند.
$request->whenHas('name', function ($name) {
});15- متد isNotFilled
بررسی میکند که مقدار ورودی وجود نداشته باشد یا خالی باشد.
if ($request->isNotFilled('email')) {
}16- متد filled
بررسی میکند که مقدار مشخصشده در درخواست پر شده باشد.
if ($request->filled('email')) {
}17- متد anyFilled
بررسی میکند که حداقل یکی از مقادیر مشخصشده در درخواست پر شده باشد.
if ($request->anyFilled(['email', 'phone'])) {
}18- متد whenFilled
اگر مقدار مشخصشده در درخواست پر شده باشد، یک تابع را اجرا میکند.
$request->whenFilled('email', function ($email) {
});19- متد missing
بررسی میکند که مقدار مشخصشده در درخواست وجود نداشته باشد.
if ($request->missing('email')) {
}20- متد whenMissing
اگر مقدار مشخصشده در درخواست وجود نداشته باشد، یک تابع را اجرا میکند.
$request->whenMissing('email', function () {
});21- متد merge
مقدار جدیدی به دادههای درخواست اضافه میکند.
$request->merge(['role' => 'admin']);
22- متد mergeIfMissing
مقدار جدیدی را فقط در صورتی که وجود نداشته باشد اضافه میکند.
$request->mergeIfMissing(['role' => 'user']);
23- متد file
یک فایل آپلودی را در قالب شئ از فایل دریافت میکند و می توان عملیات های مختلف مانند ذخیره سازی بر روی آن اجرا کرد.
$file = $request->file('avatar');24- متد hasFile
بررسی میکند که آیا فایلی آپلود شده است یا نه.
if ($request->hasFile('avatar')) {
}25- متد old
مقدار یک ورودی را از session دریافت میکند. (معمولا درخواست قبلی)
$oldValue = $request->old('name');تا اینجا با تمامی متد های قابل فراخوانی از کلاس Request آشنا شده ایم، در قسمت بعدی به متد های Response خواهیم پرداخت.
#laravel #لاراول #فصل_۶
@AmirhDeveloper
.