در حال بارگزاری ...

چگونه با متغیر ورودی خالی در لاراول برخورد کنیم؟

توسط سعید هوشیار
آخرین به روز رسانی جمعه 01 آذر 1398

اگر شما از یک متغیر نامشخص استفاده کنید یا پارامتری را ایجاد نکنید و بخواهید از آن استفاده کنید با خطاهایی مواجه می‌شوید، یک ترفند کوچک وجود دارد که می‌توانید هنگام ذخیره کردن پارامترهایتان از آن استفاده کنید که دیگر دچار چنین خطاهایی نشوید.

گاهی ممکن است با متغیر های ورودی خالی در لاراول مواجه شوید. برای رفع این مشکل کافی است، قدم‌به‌قدم همراه لیداوب باشید.

مقاله مرتبط:

بنابراین فرض کنید اسکریپت ما در انتظار یک متغیر GET است، در زیر می‌توانید مثال این متغیر GET را مشاهده کنید:

 [url]/[path]/?action=view

حال فرض کنید در اینجا متغیر خالی باشد. در کد HTML زیر می‌توانید مشاهده کنید که در صورت خالی بودن متغیر چه اتفاقی خواهد افتاد:

$action = \Input::get('action');

برای مدیریت پارامتر خالی از کد زیر استفاده می‌کنیم:

if (\Input::has('action')) { 
  $action = \Input::get('action'); 
  if ($action != '') { 
    // ... do some action
  }
}

اگر دوست ندارید از نمونه بالا استفاده کنید، یک راه آسان‌تر هم وجود دارد. راه جایگزین شما برای پر کردن متغیر خالی در اسکریپت زیر توضیح داده شده که به آن if سه گانه گفته می‌شود:

$action = (\Input::has('action')) ? \Input::get('action') : '';
if ($action != '') { 
  // ... do some action
}

شاید تعجب کنید اگر به شما بگویم که راه حل بهتری هم وجود دارد که بسیار حرفه‌ای‌تر است! در واقع بهترین راه حل برای پر کردن متغیر GET این است که از پارامتر دوم Input::get استفاده کنیم. این پارامتر یک مقدار پیشفرض می‌گیرد تا هنگام دریافت پارامتر خالی از url از آن استفاده کند.

if (\Input::get('action', '') != '') {
  // ... do some action
}

در آخر باید به شما بگویم که شما معمولا برای دریافت پارامترها می‌توانید از Validation استفاده کنید. اما گاهی اوقات به دلیل به وجود آمدن برخی محدودیت‌ها و برای استفاده از یک سری امکانات دیگر، شاید لازم باشد برای وارد کردن متغیر GET از روش‌هایی که در بالا به آن اشاره کردم استفاده کنید.

دیدگاه ها

دیدگاه ها : 0


متاسفانه فقط اعضای سایت قادر به ثبت دیدگاه هستند

رایگان

اشتراک گذاری در
ثبت امتیاز
1 (4 رای)

برچسب ها
   لطفا صبر کنید ...