سلام طبق معمول ابی هستم :)
تصمیم گرفتم در یک مجموعه به نام "میشه باهاتون آشنا بشم" در مورد مسائل مختلف صحبت کنیم و اگر با اون ها آشنا نیستیم ، باهاشون آشنا بشیم. این قسمت مربوط به فریم ورک ها و لاراول است.
قبل از اینکه بریم سراغ لاراول باید بدونیم که فریم ورک یعنی چی؟
قانون اول :
چرخ رو از اول اختراع نکن
فرض کنید میخواید از شهر رٌم با کشتی به مغرب سفر کنید. شما در مقابل خودتون دوتا گزینه دارید:
همونطور که دید هر دو گزینه قابل اجرا است اما گزینه اول زمان بر و نیازمند دانش فنی بالاست و نکته مهم تر از همه اینکه هدف ما سفر با کشتی است، نه ساخت اون!! گزینه دوم ما رو سریع تر به هدف میرسونه بدون نیاز به اینکه خودمون رو درگیر نکات خیلی ریز فنی اون بکنیم.
با توجه به نکات بالا میتونیم در مورد یک نرم افزار هم همین دید رو داشته باشیم.
اگر گزینه دوم رو انتخاب میکنید باید بهتون بگم که اسم این زیر ساخت آماده فریم ورک هست. فریم ورک یک نرم افزار هست که توسط یک یا چند نفر نوشته میشه و ابزارهای آماده رو در اختیار تیم های برنامه نویسی قرار میده تا برنامه نویسان و توسعه دهندگان مجبور به توسعه ابزارها نباشند.
سوال خیلی خوبیه.
لاراول یک فریم ورک بر مبنای زبان php است.
یعنی اگر شما قصد داشته باشید تا یک سایت رو با زبان php بسازید دو گزینه روبروی خودتون دارید :
لاراول امکانات خیلی زیادی داره که واقعا نمیشه ازشون چشم پوشی کرد. ولی در این قسمت قصد داریم تا با امکانات برجسته تر اون صحبت کنیم.
لاراول یک خط فرمان بسیار کارآمد داره. برای مثال اگر میخواید یک سیستم احراز هویت و ثبت نام (authentication) برای کاربران خود بسازید تا افراد جدید در سیستم شما ثبت نام کنند و یا در سیستم وارد شوند، شما لازم دارید که مدت زیادی رو به کد نوشتن مشغول بشید. اما لاراول از طریق CLI خوب خودش تنها با نوشتن :
php artisan make:auth
این مشکل رو به راحتی حل میکنه و کمتر از چند ثانیه!! یک سیستم ثبت نام و احراز هویت کامل رو برای شما میسازه تا براحتی ازش استفاده کنید.
اگر دانش زیادی نسبت به دستورات پایگاه های داده مثل mysql ندارید باید بگم جای نگرانی نداره چون لاراول با استفاده از ORM که یک رابط بین شما و دیتابیس هست دستورات شما رو به دستورات دیتابیس تبدیل میکنه و کار رو برای شما راحت تر میکنه. علاوه بر راحت تر کردن دسترسی به دیتابیس، امنیت اطلاعات شما رو هم حفظ میکنه.
وقتی شما در حال طراحی یک وبسایت هستید حتما به اینکه سایت چه ظاهری باید داشته باشه هم توجه میکنید. blade در لاراول مربوط نمایش اطلاعات در قالب شکل ظاهری سایت شماست. این ویژگی خیلی خوب یعنی blade به شما در سریع تر کردن توسعه ظاهر سایت با html در کنار php کمک میکنه.
لاراول برای ساخت پروژه های کوچک تا متوسط گزینه بسیار بسیار خوبی میتونه باشه. علاوه براین برای کار تیمی هم بسیار فریم ورک مناسبی است. داشتن امکاناتی چون migration و schema builder باعث هماهنگ بودن پروژه در سیستم های اعضای تیم میشه.
من خودم از لاراول استفاده کردم و اون رو توصیه میکنم. چراکه افراد بسیار زیادی توی دنیا از اون استفاده میکنن و این باعث میشه وقتی به مشکل بر میخورید افراد زیادی به حل مشکل شما کمک کنن. تقریباراه حل اکثر چالش هایی که توی پروژه از نظر زیر ساختی ممکنه که با اون روبرو بشید رو در خودش داره. مستندات خیلی خوبی هم داره که با ادبیات عمومی نوشته شده یعنی اینکه با سطح زبان انگلیسی معمولی میشه اون رو متوجه شد.