Logo for Parsclick

دو Middelware جدید در لاراول 5.4 جدیدترین مقاله

  توسط: بهروز ولیخانی بهروز ولیخانی
  January 18, 2017 at 8:23 PM
  ۲۹ دی، ۱۳۹۵ ساعت ۲۰:۲۳


سلام دوستان و هواداران پر طرفدار فریم ورک لاراول، امروز با خبر جدیدی در خدمتتون هستم و قرار دو ویژگی جدید در نسخه جدید لاراول ۵٫۴ رو خدمتتون عرض کنم .

طبق برنامه ریزی های انجام شده نسخه جدید فریم ورک لاراول ۵٫۴ هفته آینده منتشر خواهد شد، که  این نسخه شامل ویژگی های بزرگ جدید است ، که به دو ویژگی آن اشاره خواهیم کرد .


ویژگی اول: Trim Strings Middleware

این ویژگی تمام درخواست ها requests را که کاربر سهوا در آن از فضای خالی space استفاده کرده باشد حذف میکند .

به عنوان مثال اجازه دهید بگویم که  شما یک ثبت نام خبرنامه که نیاز به یک آدرس ایمیل را دارد در نظر بگیرید  ، اگر یک کاراکتر فاصله در آخر فیلد ایمیل کاربر وارد کند مانند کد زیر :


dd(request('email'));
خروجی // 'info@studio-design.ir '

در حال حاضر، با اضافه کردن میان افزار TrimStrings به فایل App/Kernel.php :


protected $middleware = [
\Illuminate\Foundation\Http\Middleware\TrimStrings::class,

نتیجه را بدین شکل بدون فضای خالی space در خروجی خواهیم دید :


dd(request('email'));
خروجی // 'info@studio-design.ir'

ویژگی دوم: Convert Empty Strings to Null

در این ویژگی فرض کنید شما فیلدی در جدول دیتابیس خود دارید که قابلیت nullable ندارد به عنوان مثال : یک فیلد ورودی که قرار است مقدار وضعیت کاربر را در خود قرار دهد بدون مقدار از یک فرم اسال کنید بدین صورت :


<input type="text" name="status" value="">

میبینید که نتیجه آن یک رشته خالی می باشد که در دیتابیس ذخیره میگردد :


dd(request('vat'));
// ''

حال با استفاده از میان افزار  ConvertEmptyStringsToNull نتیجه در خروجی در حال حاضر null خواهد بود :


dd(request('vat'));
// null

منتظر خبرهای جدید از ویژگی های جدید در نسخه لاراول ۵٫۴ باشید.


برای اظهار نظر لطفا عضو شوید

٣ نظر

amir
amir ۳۰ دی، ۱۳۹۵ ساعت ۱:۵۸
مسلما تدریس خواهم کرد
tabesh
tabesh ۳۰ دی، ۱۳۹۵ ساعت ۱:۲۴
@amirآقای عظیمی تغییرات و افزوده های لاراول 5.4 را تدریس میکنید یا دیگه کلا تمام شد ؟
amir
amir ۳۰ دی، ۱۳۹۵ ساعت ۰:۳۵
خیلی عالی،
من همیشه این مشکل ها رو دور میزدم میدونستم بالاخره درستش می کنند. مثلا وقتی کاربر تو پروفایلش دست به فیلد پسورد نزد یعنی مایل نیست تغییرش بده ولی اگر فیلد پسورد پر شد یعنی مایل هست عوض کنه. بدون Trim Strings Middleware همیشه باید چک می کردیم اگر فیلد پسورد پر هست که request()->all() وگرنه برو چک کن یعنی اینطوری :
if ( ! trim($request->password)) {
$user->update($request->except('password'));
} else {
$user->update($request->all());
}