بدلیل منابع فارسی کم و گاها ناقص اینبار با دورهی مجموعهی آموزش کامل ۰ تا ۱۰۰ فریمورک حرفهای لاراول در خدمت شما عزیزان هستیم. این دوره از آموزشها مطابق با آخرین نسخهی لاراول ۵.۴ میباشد. امیدواریم با همراهی و همکاری شما عزیزان بتوانیم این مجموعه آموزشی را در صحت محتوا به همراه ارائهی مثالهای کاربردی به اتمام برسانیم. با اولین فصل از این مجموعه شروع میکنیم:
دیگر زمان کدنویسیهای وب سایتهای پویا از ۰ تا ۱۰۰ به اتمام رسیده است. یا تنها برای زمانیکه یک تیم بسیار قدرتمند و بزرگ وجود داشته باشد این عمل مقرون به صرفه میباشد. امروزه برنامه نویسان حرفهای گاها به فکر استفاده از فریمورکهایی متناسب با نوع فعالیت خود هستند. بدینمعنی که آنها تمایل دارند از ساختار منظم و قانونمند کامپوننتها، کتابخانهها و توابع به سادگی هرچه تمام تر استفاده کنند. حال شاید این سوال برای شما بوجود بیاید که چرا فریمورک (FrameWork)؟ یا چرا لاراول (Laravel)؟ در ادامهی به توضیح مفصل این موضوع میپردازیم:
به این موضوع تا به حال توجه کردهاید که چرا کامپوننتها یا بستههای نصبی برخی از توسعهدهندگان PHP مفید میباشد؟ خب مشخصه که با این پکیجها و بستههای نصبی نگهداری از سرویسها و نحوهی کدنویسی ما بسیار ساده خواهد شد. چون شما به جای نوشتن توابع بدیهی فقط کافیست از آنها استفاده کرده و نرمافزار خود را توسعه دهید. البته لازم به ذکر است که هر بسته نصبی یا کامپوننتی معتبر نیست. این پیشنهاد را از بنده داشته باشید که استفاده از کامپوننتها تنها و تنها به حمایتکننده یا به اصطلاح Supporter آن کامپوننت و یا پکیج بستگی دارد.
حال فرض کنید که شما نرمافزاری را بدون استفاده از فریمورکها ایجاد میکنید. از کجا شروع خواهید کرد؟ بسیار خب، احتمالا در ابتدا باید تمام درخواستهای HTTP را مسیردهی کنید سپس نیاز دارید که تمامی کتابخانههای Request (درخواست) و Response (پاسخ) را کدنویسی کرده و آنها را در دسترس قرار دهید. ساخت یک روتر (Router)، وای خدای من چقدر سخت! باید یک روتر برای نرمافزار خود بنوسید و تنظیمات آن را مطابق با کتابخانهای که خودتان ایجاد کردهاید، تهیه کنید. حال این سوال برای شما پیش میآید که از چه سینتکس و ساختاری برای کتابخانههای روتر استفاده کنید؟ چه ساختاری برای روتر خود تعیین خواهید کرد؟ چگونه کنترلرهای خود را ایجاد میکنید؟ چطور تمامی صفحات را بارگذاری خواهید کرد؟ خب شاید سریعا پاسخ بدهید: با استفاده از تزریق وابستگیها مبحث کنترلرها را بهینه میکنم! اما به راستی این کارها چقدر زمان میبرد؟ اصلا فرض کنیم شما توسعهدهندهی بسیار قدری هستید و این سوالها برایتان پوزخندی بیش به ارمغان نمیاورد! اما یک درصد فکر کنید شما در یک کار گروهی شرکت کردهاید و مدیریت یک پروژه در اختیار شماست آیا هر آنچه در ذهن شما میگذرد نیز در ذهن سایر اعضای تیم خواهد گذشت؟! آیا مدت زمانی که بخواهید به آنها آموزش دهید که چگونه ساختار قانون مند ذهن شمارا اجرا کنند، در نظر گرفتهاید؟ آیا به این فکر کردهاید که ساخت یک فریمورک بومی که زاییدهی افکار حرفهای برنامهنویسی شماست چقدر زمان میبرد؟
بسیار خب پاسخ به سوالهای فوق را خودتان بدهید و ما به ادامهی توضیحات این مقاله میپردازیم.
با یک تیر ۱۰۰ نشان بزنید!
حال به این نکته توجه کنید که شما پس از بهرهمندی از فریمورک دیگر به سوالهای فوق نباید جواب دهید بلکه سوالات شما نمودی بهتر پیدا میکنند. مثلا: از چه کامپوننتی برای ارتباط با پایگاه داده استفاده کنم؟ از چه کامپوننتی برای نمایشگر خروجی خود استفاده کنم؟ و ... . شما به مراتب سازگاری مناسبتری با فریم ورک خود ایجاد خواهید کرد. علاوه بر این، فریمورکها قوانین و قواعد خاصی را برای شما وضع میکنند تا خطای کدزنی و توسعه یک اپلیکیشن را کاهش داده و انسجام تیمی شما را حفظ کنند. بنابراین سازگاری تیمی شما نیز افزایش پیدا میکند چون وقتی شما یک پروژه لاراول ایجاد کردید و مثلا بحث روتینگ یا مسیردهی را کاملا متوجه شدید دیگر برای شما فرقی نمیکند که عنوان پروژه چیست! بلکه آنچه برای شما حائز اهمیت است سینتکس و ساختار مسیردهی در پروژههاست که یکسان میباشد. این یعنی با یک تیر ۱۰۰ نشان زدن!
برای هر تغییری انعطافپذیر باشید!
گاهی شما در یک تیم و مجموعهی برنامهنویسی مشغول به کار هستید، مدیر پروژه از شما درخواست میکند که مبحث کنترلر صفحهی لاگین را رها کرده و بخش ویو و کنترلر صفحهی محصولات که همکارتان تاکنون روی آن کار میکرده، ادامه و توسعه دهید. بسیار عالیه! شما یک توسعهدهندهی انعطافپذیر شدید زیرا به راحتی هر چه تمام تر میتوانید ادامهی کدهای همکارتان را نوشته و به توسعه نرمافزار بپردازید.
دلایلی که برای شما عزیزان ارائه کردیم مستند و بر اساس تجربهی کاری حاصل شده است لذا از توضیح بیش از اندازهی فواید استفاده از فریمورک پرهیز کرده و در ادامهی مقاله به صورت تیتروار برخی از اساسیترین دلایل استفاده از فریمورکها را شرح خواهیم داد:
و اما به این سوال هنوز پاسخ ندادهایم که از بین حدود ۱۰ الی ۱۵ فریمورک PHP چرا لاراول را انتخاب کردهایم؟ بسیار عالی، پاسخ به این سوال تنها زمانی مشخص خواهد شد که شما ویژگیهای کلیدی این فریمورک را مطالعه کنید. البته در این مقاله از مقایسهی فریمورکهای PHP خودداری میکنیم چون این مقایسه هیچگاه نتیجهی دلچسبی نخواهد داشت.
بنده بر اساس تجربیات کاری با چندین فریمورک و البته با مطالعهی چند مقالهی قدرتمند به این نتایج دست پیدا کردم که با شما عزیزان به اشتراک میگذارم:
امیدوارم مقالهی فوق به عنوان اولین فصل آموزش لاراول فارسی مورد توجه شما واقع شده باشد. در صورتیکه تمایل به یادگیری این فریمورک قدرتمند دارید حتما با ما همراه باشید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.