میشه باهاتون آشنا بشم ؟؟(قسمت اول لاراول)

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