درخواست ها و ورودی ها
ورودی پایه
شما می توانید با چند روش ساده به تمام ورودی های کاربر دسترسی داشته باشید. لازم نیست نگران فعل HTTP مورد استفاده برای درخواست باشید، زیرا ورودی برای همه افعال به یک شکل قابل دسترسی است.
بازیابی یک مقدار ورودی
$name = Input::get('name');
بازیابی یک مقدار پیش فرض در صورتی که مقدار ورودی وجود نداشته باشد
$name = Input::get('name', 'Sally');
تعیین اینکه آیا یک مقدار ورودی وجود دارد یا خیر
if (Input::has('name')){ //}
دریافت تمام ورودی برای درخواست
$input = Input::all();
دریافت تنها بخشی از ورودی درخواست
$input = Input::only('username', 'password'); $input = Input::except('credit_card');
هنگام کار بر روی فرم هایی با ورودی های "آرایه"، می توانید از نماد نقطه برای دسترسی به آرایه ها استفاده کنید:
$input = Input::get('products.0.name');
توجه: برخی از کتابخانه های جاوا اسکریپت مانند Backbone ممکن است ورودی را به عنوان JSON به برنامه ارسال کنند. شما می توانید از طریق
Input::get
عادی به این داده ها دسترسی داشته باشید.
بیسکویت ها
تمام کوکی های ایجاد شده توسط فریم ورک لاراول رمزگذاری شده و با یک کد احراز هویت امضا می شوند، به این معنی که اگر توسط مشتری تغییر داده شده باشند، نامعتبر تلقی می شوند.
بازیابی یک مقدار کوکی
$value = Cookie::get('name');
پیوست کردن یک کوکی جدید به یک پاسخ
$response = Response::make('Hello World'); $response->withCookie(Cookie::make('name', 'value', $minutes));
در صف یک کوکی برای پاسخ بعدی
اگر میخواهید قبل از ایجاد پاسخ یک کوکی تنظیم کنید، از
Cookie::queue()
روش استفاده کنید.
کوکی به طور خودکار به پاسخ نهایی درخواست شما پیوست می شود.
Cookie::queue($name, $value, $minutes);
ایجاد یک کوکی که برای همیشه ماندگار است
$cookie = Cookie::forever('name', 'value');
ورودی قدیمی
ممکن است لازم باشد ورودی را از یک درخواست تا درخواست بعدی حفظ کنید. برای مثال، ممکن است لازم باشد پس از بررسی خطاهای اعتبارسنجی، فرم را دوباره پر کنید.
چشمک زدن ورودی به جلسه
Input::flash();
فلش کردن فقط برخی از ورودی های جلسه
Input::flashOnly('username', 'email'); Input::flashExcept('password');
از آنجایی که اغلب می خواهید ورودی را در ارتباط با تغییر مسیر به صفحه قبلی فلش کنید، می توانید به راحتی ورودی های زنجیره ای را به یک تغییر مسیر چشمک زن بزنید.
return Redirect::to('form')->withInput(); return Redirect::to('form')->withInput(Input::except('password'));
توجه: میتوانید با استفاده از کلاس Session ، دادههای دیگر را در بین درخواستها فلش کنید .
بازیابی اطلاعات قدیمی
Input::old('username');
فایل ها
بازیابی یک فایل آپلود شده
$file = Input::file('photo');
تعیین اینکه آیا یک فایل آپلود شده است
if (Input::hasFile('photo')){ //}
شی ای که توسط
file
متد برگردانده می شود نمونه ای از
Symfony\Component\HttpFoundation\File\UploadedFile
کلاس است که
SplFileInfo
کلاس PHP را گسترش می دهد و روش های مختلفی را برای تعامل با فایل ارائه می
دهد.
تعیین اینکه آیا یک فایل آپلود شده معتبر است یا خیر
if (Input::file('photo')->isValid()){ //}
انتقال یک فایل آپلود شده
Input::file('photo')->move($destinationPath); Input::file('photo')->move($destinationPath, $fileName);
بازیابی مسیر یک فایل آپلود شده
$path = Input::file('photo')->getRealPath();
بازیابی نام اصلی یک فایل آپلود شده
$name = Input::file('photo')->getClientOriginalName();
بازیابی پسوند یک فایل آپلود شده
$extension = Input::file('photo')->getClientOriginalExtension();
بازیابی اندازه یک فایل آپلود شده
$size = Input::file('photo')->getSize();
بازیابی نوع MIME یک فایل آپلود شده
$mime = Input::file('photo')->getMimeType();
درخواست اطلاعات
کلاس
Request
روش های زیادی را برای بررسی درخواست HTTP برای برنامه شما ارائه می دهد و
Symfony\Component\HttpFoundation\Request
کلاس را گسترش می دهد.
برخی از نکات برجسته در اینجا وجود دارد.
بازیابی URI درخواست
$uri = Request::path();
بازیابی روش درخواست
$method = Request::method(); if (Request::isMethod('post')){ //}
تعیین اینکه آیا مسیر درخواست با یک الگو مطابقت دارد یا خیر
if (Request::is('admin/*')){ //}
URL درخواست را دریافت کنید
$url = Request::url();
یک بخش URI درخواست را بازیابی کنید
$segment = Request::segment(1);
بازیابی هدر درخواست
$value = Request::header('Content-Type');
بازیابی مقادیر از $_SERVER
$value = Request::server('PATH_INFO');
تعیین اینکه آیا درخواست بیش از HTTPS است
if (Request::secure()){ //}
تعیین کنید که آیا درخواست از AJAX استفاده می کند
if (Request::ajax()){ //}
تعیین کنید که آیا درخواست دارای نوع محتوای JSON است یا خیر
if (Request::isJson()){ //}
تعیین کنید که آیا درخواست JSON درخواست می کند یا خیر
if (Request::wantsJson()){ //}
بررسی فرمت پاسخ درخواستی
این
Request::format
روش فرمت پاسخ درخواستی را بر اساس هدر HTTP Accept برمی گرداند:
if (Request::format() == 'json'){ //}