رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش درخواست های HTTP در لاراول 5
#1
در فریم ورک لاراول درخواست های http که با متدهای GET , POST ,... ارسال می کنیم را می توانیم مقادیر آنها را با استفاده از کلاس Request دریافت کنیم :

کد پی‌اچ‌پی:
$name Request::input('name'); 

نکته : برای استفاده از هر کلاسی در کلاس های کنترلر ابتدا باید آن کلاس را با استفاده از دستور use ایمپورت کنیم. در مثال بالا هم بایستی به این صورت قبل از تعریف کلاس کنترلر موردنظر کلاس Request را ایمپورت کنیم. 

کد پی‌اچ‌پی:
use Request

همچنین می توانیم به روش دیگری هم مقادیر را به دست بیاوریم. به این صورت که ابتدا کلاس Illuminate\Http\Request را به کنترلر مورد نظر ایمپورت می کنیم سپس دستور Request $request را به عنوان پارامتر به اکشن مورد نظر می دهیم. در طول برنامه داخل اکشن می توانیم از متغیر request$ استفاده کنیم.
کد پی‌اچ‌پی:
<?php namespace App\Http\Controllers;
 
use 
Illuminate\Http\Request;
use 
Illuminate\Routing\Controller;
 
class 
UserController extends Controller {
 
 
   /**
     * Store a new user.
     *
     * @param  Request  $request
     * @return Response
     */
 
   public function store(Request $request)
 
   {
 
       $name $request->input('name');
 
 
       //
 
   }
 


می توانیم برای یک ورودی مقداری پیش فرض هم تعیین کنیم تا در صورتی که مقداری برای آن ست نشده بود این مقدار جایگزین آن شود :
کد پی‌اچ‌پی:
$name Request::input('name''Sally'); 

با استفاده از متد has می توانیم بررسی کنیم که آیا ورودی با این مقدار وجود دارد یا خیر :


کد پی‌اچ‌پی:
if (Request::has('name'))
{
 
   //


با استفاده از متد all می توانیم تمامی ورودی ها را دریافت کنیم.
کد پی‌اچ‌پی:
$input Request::all(); 

همچنین می توانیم فقط برخی ورودی ها یا همه ورودی ها به جز برخی را دریافت کنیم.
کد پی‌اچ‌پی:
$input Request::only('username''password');
 
$input Request::except('credit_card'); 


هنگامی که مقدار ورودی یک آرایه باشد می توانیم با استفاده از نقظه به مقدار آیتم مورد نظر دست پیدا کرد :
کد پی‌اچ‌پی:
$input Request::input('products.0.name'); 

همچنین می توانیم به مقادیر flash که توسط سشن ایجاد می شوند و به صورتی هستند که فقط برای درخواست بعدی معتبر هستند و از بین می روند هم به صورت های زیر دسترسی داشته باشیم:

کد پی‌اچ‌پی:
Request::flash();
Request::flashOnly('username''email');
 
Request::flashExcept('password'); 


در مثال دوم و سوم هم مثل قبل که دیدیم فقط یا به جز برخی موارد دسترسی داریم.


می توانیم مقادیر ورودی ها را دوباره با استفاده flash به صفحه قبلی یا صفحه دیگری ارسال کنیم :

کد پی‌اچ‌پی:
return redirect('form')->withInput();
return 
redirect('form')->withInput(Request::except('password')); 


کاربرد آن در فرم ها می باشد که اگر بعد از اعتبارسنجی ورودی ها دارای خطایی باشد و بخواهیم دوباره به صفحه فرم بازگردیم ورودی های فرم که کاربر نوشته از بین نروند. در مثال دوم به password اجازه 

حفظ شدن ندادیم.
برای چاپ مقادیر قبلی هم باید داخل تکست باکس های فرم مقدارش را به این صورت چاپ کنیم :

کد پی‌اچ‌پی:
<input type="text" name="email" value="<?php echo old('name') ?>"
کوکی ها

می توانیم به مقدار یک کوکی هم به این صورت دسترسی داشته باشیم :

کد پی‌اچ‌پی:
$value Request::cookie('name'); 

فایل ها

فایلی که آپلود شده را می توانیم به این صورت اطلاعاتش دریافت کنیم. در مثال زیر نام فیلد فایل در فرم photo بوده است:

کد پی‌اچ‌پی:
$file Request::file('photo'); 




در مثال زیر بررسی می کند که آیا این فایل با این نام وجود دارد:


کد پی‌اچ‌پی:
if (Request::hasFile('photo'))
{
 
   //



مقداری که متد file در کلاس Request به ما می دهد یک آبجکت از کلاس Symfony\Component\HttpFoundation\File\UploadedFile که می توانید با متدهای آن برای کار با فایل کار کنید.
کد پی‌اچ‌پی:
if (Request::file('photo')->isValid())
{
 
   //




در مثال بالا بررسی می کند که آیا فایل آپلود شده صحیح و بدون خطا می باشد :


با استفاده از متد move می توانیم فایل را به مسیر مورد نظر که به عنوان پارامتر اول به آن می دهیم و همچنین نام فایل که اختیاری است ذخیره کنیم.

کد پی‌اچ‌پی:
Request::file('photo')->move($destinationPath);
 
Request::file('photo')->move($destinationPath$fileName); 



در قسمت های آینده در مورد آپلود فایل و یک مثال کاربردی حتما مطلبی خواهیم داشت

سایر اطلاعات را می توانید در اینجا مشاهده کنید


(با تشکر از حامد آریان)
قوانین انجمن لاراولیستا  | شماره تماس :‌09124783045 |‌ تلگرام :‌ 09377869283
پاسخ
 


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  آموزش اعتبار سنجی در لاراول 5 alihossein 4 761 11-20-2016, 07:12 AM
آخرین ارسال: حمید رﺽا کمالی
  آموزش روتینگ routing در لاراول 5 alihossein 2 1,117 11-12-2016, 04:37 AM
آخرین ارسال: حمید رﺽا کمالی
  آموزش کار با دیتابیس در لاراول 5 alihossein 6 1,533 10-27-2016, 01:01 PM
آخرین ارسال: sempaisaleh
  درخواست کمک برای نصب لاراول روی هاست AhrimanSefid 1 133 09-12-2016, 06:40 AM
آخرین ارسال: agahi
  آموزش Migration در لاراول 5 alihossein 9 1,145 08-15-2016, 04:17 PM
آخرین ارسال: Naser.SherafatiNia
  آموزش فارسی لاراول ۵ alihossein 4 2,851 07-22-2016, 04:16 PM
آخرین ارسال: elham_malekmohamadi
  # سوال : آموزش ساخت ربات تلگرام با پکیج irazasyed/telegram-bot-sdk Bvk.Programmer 0 228 04-25-2016, 04:54 PM
آخرین ارسال: Bvk.Programmer
  درخواست آموزش کار با پکیج intervention/image Bvk.Programmer 6 491 04-18-2016, 05:52 PM
آخرین ارسال: hamo
  درخواست راهنمایی : تعریف سطوح دسترسی کاربری در لاراول Bvk.Programmer 10 612 03-07-2016, 06:38 PM
آخرین ارسال: Bvk.Programmer
Rainbow آموزش : پکیچ کاربردی ajax-blade Bvk.Programmer 0 199 02-15-2016, 06:04 PM
آخرین ارسال: Bvk.Programmer

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان

درباره انجمن فریم ورک لاراول

انجمن لاراولیستا به عشق توسعه دهنده ها و علاقمندان به این فریم ورک محبوب ایجاد شده و امیدواریم با نظرات خوبتون ما رو در بهبود کار یاری کنید. در ضمن خیلی هم خوشحال میشیم شما هم در توسعه این انجمن سهمی داشته باشید.