ساخت فرم های لاراول بدون استفاده از Illuminate/html
- توسط : علی حسین شهابی
- 0 نظر
با سلام و درود خدمت دوست داران فریم ورک لاراول
صحبتی که می خواهیم تو این جلسه انجام بدین در مورد استفاده از پکیج Illuminate/html لاراول برای ایجاد فرم ها است. همانطور که می دانید در لاراول ورژن 5 این قابلیت حذف شده و باید با استفاده از پکیج این قابلیت رو به پروژه اضافه کنید تا از کلاس Form , HTML برای ساخت فرم ها با استفاده از Blade استفاده کنیم و یه جورایی مارو گیج کرده که بالاخره چجوری فرم هارو درست کنیم..با استفاده از html معمولی یا با این پکیج.خب دوستانی که از لاراول 4 اومدن سمت لاراول 5 اکثرا عادت دارن تا با استفاده از کلاس های Form , Html فرم هارو طراحی کنن و دوستانی که یک ضرب از 5 شروع کردن قاعدتا برعکس هست.
خیلی ها میپرسن چه تفاوت هایی داره این دو روش که در ادامه اون هارو بررسی می کنیم.
اگر بخواهیم از کلاس Form استفاده کنیم برای ساخت فرم هامون ، یه فرم ساده به این صورت می باشد :
{!! Form::open(array('url' => 'admin/cities')) !!}
City name:
{!! Form::text('title', old('title')) !!}
{!! Form::submit('Save') !!}
{!! Form::close() !!}
و اگر همین فرم رو با استفاده از html معمولی طراحی کنیم همانند زیر می باشد :
- تفاوتی که کرده چیه ؟؟ استفاده از تگ CSRF است..اگر از کلاس Form برای ساخت فرم اتون استفاده کنید این تگ به صورت اتوماتیک ساخته و ارسال می شود و اگر از html ساده استفاده کنید باید این تگ را خودتان داخل فرم اتون قرار بدین. برای این کار از {{ csrf_field() } استفاده می کنید .
حالا مثال بعدی رو بررسی کنیم . در این مثال بررسی می کنیم که مثلا چطور درخواست فرم امون رو به صورت DELETE ارسال کنیم .باز اگر از کلاس Form استفاده کنید خب به راحتی می توانید نوع درخواست رو DELETE قرار دهید ولی اگر از html ساده استفاده کنید باید به صورت دستی یک تگ از نوع Hidden داخل فرم اتون بگزارید با نام method_ و مقدار DELETE . به این صورت :
- تابع method_field() زمان کامپایل شدن اون تگ hidden رو می سازد.
میشه گفت تنها تفاوت هایی که ساخت فرم به صورت html ساده و استفاده از کلاس Form می کند..همین ها بود…
شما هم نظرتون رو اعلام کنید.کدوم روش رو میپسندین ؟