سفارش تبلیغ
صبا ویژن

فریمورک لاراول یا Laravel چیست ؟

سلام به همه ی توسعه د هنده های وب یا دوستانی که علاقه دارن توسعه ی وب را یاد بگیرند من نمیدونم دقیقا الان در چه تاریخی هست که شما این مطلب رو میخونید ولی من رو دقیقا روز دوم بهمن سال 1398 شمسی نوشتم .

بحث وب بحث گسترده ای هست ولی بیایید قبول کنیم که اکثر کسب و کار ها مجبور به استفاده از فریمورک های پی اچ پی هستند .

مخصوصا استارتاپ های تازه کار و نوپا یا کسب و کارهای شخصی که هزینه های اضافی ندارد .

خب بریم سر اصل مطلب ، هدف نگارش این مقاله ی آموزشی این است که ببینیم الان فریمورک کدایگنایتر کجاست ؟ و با وجود محبوب ترین فریمورک پی اچ پی یعنی لاراول اصلا کدایگنایتری باقی مونده ؟ اگر باقی مونده استفاده میشه؟ در کل میخام مقاله ی مفید و جذابی بنویسم :)))

اول اینکه بیایید ببینیم اینا چی هستن !؟

فریمورک لاراول یا Laravel چیست ؟

 

سال 2001 بود که این فریمورک با اون لوگو هویجی رنگش ظهور کرد . اون موقع ها فریمورک های خیلی زیادی برای پی اچ پی وجود داشتن مثل YII , ZEND , Codeigniter , Symfony , CakePHP و ...

اما چطور شد که یهو به سر تیلو اوتول زد که بشینه یه فریمورک بنویسه !!!

جریان اینطوری بود که فریمورک های بالا هر کدوم یه چیزی داشتن که بقیه نداشت ! بروزرسانی ها نامرتب بود و در کل بخام خودمونی بگم خر تو خر بود ...

لاراول با هدف اوپن سورس بودن و با هدف استفاده از بسته های مفید دیگر فریمورک ها پا به عرصه گذاشت مثلا هنگام نصب میبینید که خیلی از بسته هاش از فریمورک Symfony هست .

این یه چیزی بود که به نظرم از لینوکس الهام گرفته شده بود لینوکسم اینطوریه دیگه مثلا میخای یه نرم افزار نصب کنی میگه این نرم افزار به فلان بسته نیاز داره و فلان بسته به بسته ی دیگری نیاز داره اونم به پایتون نیاز داره در مجموع شما باید چهار بسته نصب کنید شایدم چندتایی را بروزرسانی کنید .

این وابستگی ها همینطوری قابل انجام نبود و به همین منظور سیستمی برای پروژه های PHP بوجود آمد به نام مدیریت وابستگی ها که اسمش Composer بود .

(بخاطر همینم هست که لاراول با Composer نصب میشه )

در این مقاله قصد ندارم در مورد کامپوزر و اینجور چیزها صحبت کنم عنوان مقاله را ببینید من میخام درباره ی فقط کدایگنایتر و فقط لاراول صحبت کنم پس اگه در مورد کامپوزر میخواهید مطالعه کنید برید اینجا

لاراول با ابزارهای مناسب برنامه نویسان وب ظهور کرد که خیلی هاشون دغدغه بود ...

ابزارهایی که لاراول با خودش ارائه کرد :‌

  • سیستم مایگریشن = ساخت و مدیریت جداول پایگاه داده با ابزاری قوی و ساده
  • ابزار php artisan = یک کمک کننده در ترمینال که همیشه به درد برنامه نویس وب میخوره
  • ابزار seeder = که وظیفش ساخت نمونه های اولیه هست برای توسعه ی وب کار را راحت میکنه با چند دستور یهو دیتابیس پر میشه از دیتاهای سمپل و باعث میشه نرم افزارتون رو تست کنید .
  • بخش Middleware ها : این یک لایه ی امنیتی است برای کل اپلیکیشن دیگر نیاز نیستی شخصی دسترسی غیرمجاز به جایی داشته باشد همه چیز این گارد محافظتی عبور میکند و مدیریت دارید .
  • سیستم route پیشرفته : باعث میشود url ها و تمامی درخواست ها به سمت اپلیکیشن خود را بگیرید و مدیریت کنید .
  • تمپلیت انجین blade که باعث میشه واسه پروژتون سریع قالب سازی و قالب بندی گرافیکی و ظاهری بکنید
  • و خیلی چیزای دیگه که فعلا یادم نیست

کدایگنایتر ( Codeigniter ) چیست ؟

 

کدایگنایتر ( Codeigniter ) چیست؟

خب من برای اولین بار کدایگنایتر را از یه سایت آموزش برنامه نویسی به اسم آواسام دیدم و تهیه کرد م فوق‌العاده بود.

کدایگنایتر قدیمی تر از لاراول است اولین نسخه ی کدایگنایتر در سال 2006 میلادی منتشر شده است . کدایگنایتر بر خلاف لاراول ، خیلی ساده نصب میشه خیلی ساده راه اندازی میشه و به همین خاطر هم هست افرادی که تازه به سمت پی اچ پی میان کدایگنایتر را بیشتر دوست دارند .

این فریمورک بصورت متن باز منتشر شده است و یعنی توسعه ی آن توسط هرکسی قابل انجام است .

اون زمانی که codeigniter با آن همه امکانات منتشر شد در نوع خودش بی نظیر بود . اون زمان ها هنوز فریمورک خوبی برای پی اچ پی وجود نداشت که بشه به سادگی استفاده کرد .

فریمورک codeigniter از الگوی MVC استفاده میکنه ، پایداری و امنیت خوبی داره و سایتتون را بدون نگرانی میتونید با فریمورک codeigniter پیاده سازی کنید ولی توجه کنید که باید اصولش را رعایت کنید تا سایتتون هک نشه .

لاراول با سیستم احراز هویتی مثل auth میاد و بصورت خودکار سیستمی برای احراز هویت ثبت نام و ... درست میکنه ولی کدایگنایتر بصورت پیشفرض اینا رو نداره شما باید با کدنویسی اینارو پیاده سازی کنید .

البته یادتون نره که codeigniter دو بخش به نام های helper ها library ها داره که هر برنامه نویس میتونه موارد مورد نیازش را به هسته ی codeigniter اضافه کنه و نیازش را برطرف کنه ولی معمولا اینا برای لاراول بصورت اماده و از قبل توسط دیگر برنامه نویسا نوشته شده .

فرق بین لاراول و کدایگنایتر چیست ؟‌

 

وقتی با بعضی ها درباره ی تفاوت لاراول و کدایگنایتر سوال میکنی طوری پاسخ میدن انگار لاراول باعث میشه مثلا پی اچ پی از زبان پی اچ پی یهو به پایتون تبدیل بشه یا همچین چیزی !

کدایگنایتر و فریمورک روی پی اچ پی کار میکنند زبان برنامه نویسی جدیدی که خلق نکردن !

تفاوت در اصل نیست بلکه در موارد فرعی است مثلا فلان ابزار مناسب امنیت یا فلان ابزار مناسب کار با پایگاه داده بصورت آماده در لاراول است ولی در کدایگنایتر نیست !‌ این مهم ترین تفاوت بین کدایگنایتر و لاراوله

بیشتر تفاوت در اینه که برنامه نویس چطوره و با کدوم قراره بهتر کار کنه !

20_fndi.png

همین الانشم پروژه های بزرگی دارن با کدایگنایتر اجرا میشن و هر چی ام باشه بلاخره از وردپرس که بدتر نیست !!!

آیا استفاده از codeigniter ایمن است ؟‌

قطعا بله !‌

کدایگنایتر هنوزم در حال اپدیت است البته باگ شدید امنیتی گزارش نمیشه از کدایگنایتر ، باز هم میگم به برنامه نویس مربوطه که پروژه را چطور اجرا بکنه و چطور کدنویسی کنه

اگه از کدایگنایتر بصورت اصولی استفاده بشه و قواعدش رعایت بشه و حتی از ابزارها و کتابخانه های درونشیم بهره گرفته بشه مطمئنا هیچ مشکل امنیتی نخواهد داشت .

 

چه پروژه هایی را مناسب است با کدایگنایتر پیاده کنید ؟‌

 

تقریبا اکثر پروژه های آنلاین تحت وب قابل پیاده سازی با کدایگنایتر هستند مگر برای مسائل خاصی مثل برنامه نویسی سوکت و ... که نیاز به دریافت و اطلاعات real time داشته باشند که البته بحث این مقاله نیست .

حتی من میگم برای پروژه هایی که شخصی است یا اعضای تیم گروهی که روش کار میکنه دو سه نفر بیشتر نیست نیازی نیست وارد بحث لاراول بشیم

  • لاراول نیازمندی های سروری زیادی میطلبه
  • لاراول نسبتا سنگینه
  • لااول یه عالمه بسته ی جانبی باخودش نصب میکنه

و در نهایت برای کسب وکارهای کوچک مناسب نیست بلکه کدایگنایتر بهترین گزینه ی برای کسب و کارهای کوچکه

من یه دوره دیدم بصورت پروژه محور برای یادگیری کدایگنایتر واقعا عالی بود دوره ی ساخت دیوار آواسام در این جا مباحث کدایگنایتر بصورت خوب و کامل درون یک پروژه عملیاتی واقعی پیاده میشه و شما بیس کدایگنایتر را فرا میگیرید .