تابع optional برای حل یکی از مشکلات متداول در برنامهنویسی اشیا در لاراول طراحی شده است. هنگامی که شما قصد دارید با اشیا کار کنید و ممکن است این شیء محتوای null داشته باشد، لازم است تا مداوم بررسی کنید که آیا شیء موجود است یا نه.
با کمک تابع optional نیاز به بررسی مستمر از بین میرود. به مثال زیر دقت کنید:
$user = User::find( 1 ); echo $user->fname; // returns Exception
اگر کاربر شماره ۱ در کد بالا پیدا نشود، اجرای برنامه با خطا مواجه میشود.
برای حل این مشکل از تابع optional استفاده میکنیم:
$user = optional( User::find( 1 ) ); echo $user->fname; // returns null
تابع optional در کد بالا باعث میشود اگر مقدار بازگشتی از Eloquent مقدار null باشد، یک شیء با محتوای خالی در متغیر user ذخیره شود. هر درخواستی از شیء user در حالت بالا، مقدار null را برمیگرداند.