فريمورک لاراول يا 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 اضافه کنه و نيازش را برطرف کنه ولي معمولا اينا براي لاراول بصورت اماده و از قبل توسط ديگر برنامه نويسا نوشته شده .
فرق بين لاراول و کدايگنايتر چيست ؟
وقتي با بعضي ها درباره ي تفاوت لاراول و کدايگنايتر سوال ميکني طوري پاسخ ميدن انگار لاراول باعث ميشه مثلا پي اچ پي از زبان پي اچ پي يهو به پايتون تبديل بشه يا همچين چيزي !
کدايگنايتر و فريمورک روي پي اچ پي کار ميکنند زبان برنامه نويسي جديدي که خلق نکردن !
تفاوت در اصل نيست بلکه در موارد فرعي است مثلا فلان ابزار مناسب امنيت يا فلان ابزار مناسب کار با پايگاه داده بصورت آماده در لاراول است ولي در کدايگنايتر نيست ! اين مهم ترين تفاوت بين کدايگنايتر و لاراوله
بيشتر تفاوت در اينه که برنامه نويس چطوره و با کدوم قراره بهتر کار کنه !
همين الانشم پروژه هاي بزرگي دارن با کدايگنايتر اجرا ميشن و هر چي ام باشه بلاخره از وردپرس که بدتر نيست !!!
آيا استفاده از codeigniter ايمن است ؟
قطعا بله !
کدايگنايتر هنوزم در حال اپديت است البته باگ شديد امنيتي گزارش نميشه از کدايگنايتر ، باز هم ميگم به برنامه نويس مربوطه که پروژه را چطور اجرا بکنه و چطور کدنويسي کنه
اگه از کدايگنايتر بصورت اصولي استفاده بشه و قواعدش رعايت بشه و حتي از ابزارها و کتابخانه هاي درونشيم بهره گرفته بشه مطمئنا هيچ مشکل امنيتي نخواهد داشت .
چه پروژه هايي را مناسب است با کدايگنايتر پياده کنيد ؟
تقريبا اکثر پروژه هاي آنلاين تحت وب قابل پياده سازي با کدايگنايتر هستند مگر براي مسائل خاصي مثل برنامه نويسي سوکت و … که نياز به دريافت و اطلاعات real time داشته باشند که البته بحث اين مقاله نيست .
حتي من ميگم براي پروژه هايي که شخصي است يا اعضاي تيم گروهي که روش کار ميکنه دو سه نفر بيشتر نيست نيازي نيست وارد بحث لاراول بشيم
- لاراول نيازمندي هاي سروري زيادي ميطلبه
- لاراول نسبتا سنگينه
- لااول يه عالمه بسته ي جانبي باخودش نصب ميکنه
و در نهايت براي کسب وکارهاي کوچک مناسب نيست بلکه کدايگنايتر بهترين گزينه ي براي کسب و کارهاي کوچکه
من يه دوره ديدم بصورت پروژه محور براي يادگيري کدايگنايتر واقعا عالي بود دوره ي ساخت ديوار آواسام در اين جا مباحث کدايگنايتر بصورت خوب و کامل درون يک پروژه عملياتي واقعي پياده ميشه و شما بيس کدايگنايتر را فرا ميگيريد .