سلام به همه ي توسعه د هنده هاي وب يا دوستاني كه علاقه دارن توسعه ي وب را ياد بگيرند من نميدونم دقيقا الان در چه تاريخي هست كه شما اين مطلب رو ميخونيد ولي من رو دقيقا روز دوم بهمن سال 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 داشته باشند كه البته بحث اين مقاله نيست .
حتي من ميگم براي پروژه هايي كه شخصي است يا اعضاي تيم گروهي كه روش كار ميكنه دو سه نفر بيشتر نيست نيازي نيست وارد بحث لاراول بشيم
- لاراول نيازمندي هاي سروري زيادي ميطلبه
- لاراول نسبتا سنگينه
- لااول يه عالمه بسته ي جانبي باخودش نصب ميكنه
و در نهايت براي كسب وكارهاي كوچك مناسب نيست بلكه كدايگنايتر بهترين گزينه ي براي كسب و كارهاي كوچكه
من يه دوره ديدم بصورت پروژه محور براي يادگيري كدايگنايتر واقعا عالي بود دوره ي ساخت ديوار آواسام در اين جا مباحث كدايگنايتر بصورت خوب و كامل درون يك پروژه عملياتي واقعي پياده ميشه و شما بيس كدايگنايتر را فرا ميگيريد .