عملت عليه منذ أربع سنوات واتقنته. اكون سعيدا بالاجابة عل استفساراتكم عنه.
اسألني في Codeigniter
هل لى بعدة استفسارات لو سمحت !
-امبارح قررت انى ابدئ فى تعلم Codeigniter لاكنى دخلت على الموقع الخاص بيها و وجدت فى اصدارين 2 و 3 ياترى اى الفرق بينهم !
-ايضا كان هناك خبر يفيد بان الشركة المسؤلة عن تطوير و دعم Codeigniter تمت ايقاف دعمها او تم الاستغناء عنها شىء من هذا القبيل ارجوا التصحيح لى لو هناك خطا
ما مدى قوة Codeigniter حيث اننى مازلت مبتدئ و اسمع من هنا و هناك البعض يقول انة يصلح لعمل مشاريع ضخمة و الاخر يقول او متوسط و بسيط و البعض الاخر يقول انة تم التجريب على مشاريع كبيرة و يعمل بكفائة !! انا مشتت و كيف اعرف انة يصلح للعمل الذى اقوم بة ام لا
هنل مجتمع Codeigniter قوى و كبير مثل laravel مثلا !!
-ماذا تنصحنى قبل تعلمة و اثناء تعلمة
ممكن tutorials بسيطة علشان اقدر اتعلم منها Codeigniter
شكرا لسعة صدرك :)
لم لا تبدأ بلارافل
فأنا قد بدأت بها بالفعل
(نصيحة لتفهم أكثر طبيعة عمل هذه الأطر وطريقة الMVC هناك دورة مكونة من 3 فيديوهات على devdose تشرح برمجة إطار عمل MVC هذه بالنسبة لي وضحت المفهوم الخاص بالMVC (أعتقد الأخ صاحب هذه الدورة معنا هنا في الموقع) )
فكرت و بالفعل بدات و الحمد لله فهمت معنى MVC ايضا قمت بتطبيق شىء بسيط جدا مع بعض الفديوهات حيث كانت مفيدة بشكل كبير
لاكن المشكلة فى laravel انها نوعا ما كمان سمعت غير مستقرة بمعنى ان كل اصدار يكون مختلف عن الاصدار الذى قبلة فهذا سوف يقوم بتشتيتى و انا مازلت مبتدء على هذا (هل فهمت قصدى) !
الفرق ان النسخة الثانية اكثر استقرارا (Stable) والنسخة الثالثة ما زالت التحسينات والتصليحات جارية عليها. لذا أنصحك بالعودة إلى الثانية اذا كنت تريد انتاج مشاريع (لاطلاقها). والفرق بين الاثنين من ناحية الميزات ان الاخير ادخلت تحسينات عليه في ادارة Sessions وتم تكبير وتحسين جزئية الاختبارات Testing كما تم تحسين عمليات قواعد البيانات Databases وميزات أخرى كثيرة. لكنني ما زلت أنصح بالاصدارة الثانية.
Codeigniter مجتمع ضخم لسببين أولها انه قديم جدا حيث يعود إلى عام 2008 واستمراره حتى الآن جعله في مصاف اطارات العمل الأكثر شعبية. والسبب الثاني انه من أبسط اطر العمل في التعلم (يوم كامل يكفي لأخذ فكرة عن كافة ميزاته) بالاضافة الى سهولة قراءة دليل الاستخدام. وبسبب بساطته أصبح أكثر شعبية من بين منافسين عديدين من ضمنها Cake PHP وبل أمات اطر عمل أخرى.
بالنسبة لصلاحية الاطار فهو يصلح لمشاريع صغيرة ومتوسطة برأيي. كما ان هنالك منصات عالمية مبنية على هذا الاطار وهنالك الكثير من المشاريع الويب العربية بنيت على هذا الاطار. كلما قمت بالاستغلال الأمثل لمكونات الاطار كلما كانت قابلية مد الاطار ليغطي احتياجاتك اكثر. لكنني شخصيا لن اجازف باستخدامه لمشاريع ضخمة جدا.
أنصحك بتعلم أساسيات OOP في لغة PHP لأن بنيته تعتمد على Classes حيث انه يجزء طبقات مشروعك إلى ثلاث طبقات أساسية Models , Views , Controllers. كما انصحك بقراءة مقالات عن MVC. ذلك (قبل) , أما (البعد) فأنصحك بقراءة دليل الاستخدام.
التوتوريال الأول الذي افضل استخدامه ومن تجربتي هو دليل الاستخدام الرسمي حيث انه كافي ووافي وغير ممل ويكفي يوم واحد لجعله يحيطك علما بكيفية التعامل مع الاطار. ويأتي محزوما مع نسخة الاطار في مجلد اسمه user_guide.
أنا أعمل على النسخة الثالثة .. والفرق بينهما لا يكاد يذكر ...
عملت على النسخة الثانية لمدة 4 سنوات و أعرف كل شئ فيها ... و عندما إنتقلت للثالثه ... لم أجد هناك أى فرق يذكر
فقط حذفت بعض ال helpers و بعض الدوال لأنها كانت فى Native PHP .. كذلك يتم عمل Capitalization لأسماء ال Controllers و ال models فقط
هذه هى الفروق الأساسية .. ماعدا ذلك لا يذكر .
أعمل على مشروعين حالياً بالنسخة الثالثة .
شكرا جدا لك على الرد الواضح
و لاكن ظهرت استفسارات اخرى
-هل هناك مشاكل عند استخدامة على السيرفر المشترك ؟!
-حاليا تستخدم النسخة 2 ام 3 !!
-هل مازل الدعم قوى للنسخة 2 او تم توجية الانظار الى النسخة 3 !!
لم تصادفني أي مشكلة فيه على الاستضافة المشتركة طالما انك تملك ادنى المتطلبات التشغلية اللازمة وهي واردة بدليل الاستخدام تحت بند Requirments.
استخدم (٢) الفرع (٢) 2.2
لأنه منتج مجاني لا يوجد ضمان للدعم السريع. لكنني أؤكد لك ان العمل جار على تصليحات بالنسخة الثانية وآخرها كان منذ ٢٩ يوما حسب مسار التعديلات للشفرة المصدرية للبرنامج في جت هب. وبما ان النسخة مستقرة استبعد اي اصلاحات قادمة بقوة عليها. في حين ان اطلاقها بوصف مستقرة يعني انها فعلا اخذت حقها من التطوير والتعديل. والمعلومة الجيدة التي لا تجعلك خائفا من استخدام (٢) هي ان عملية الانتقال لنفس مشروعك من (٢) الى (٣) ستكون ممكنة والخطوات موجودة في الموقع الرسمي لمن اراد.
هل تنصح بأستدعاء database من خلال autoload بصورة تلقائية أو أن ذلك يؤثر على الأداء ويفضل الأستدعاء فى controllers التى بها أستعلامات فقط
بالطبع اي استدعاء يؤثر على الآداء والحل في استدعائها بشكل ذكي حسب ما يرد من مقترحات أدناه.
اذا كان Controller معين يعتمد اعتماد كلي قاعدة البيانات فأفضل استدعائها ضمن Constructor داخل كلاس الكونترولر لكي يتم تفعيلها حينما يتم استدعاء اي دالة داخل الكونترولر.
اذا كانت دوال معينة فقط داخل الكونترولر تعتمد على قاعدة البيانات فقم باستدعائها داخل الدوال.
و العشرات من ال backends
لدى مجموعة على الفيسبوك خاصة بهذا الإطار :
جميع اعمالي على الكود اجنايتر عبارة عن برمجيات Web-Based ادارية ومحاسبية وتستخدم بشكل داخلي. لدي عمل واحد منشور وهو موقع :
ولصغره لا يجسد كل امكانيات هذا الاطار.
بالمناسبة، موقع الأسرار غالبا ما يظهر لي هكذا
ربما يجب مراجعة المستضيف!
أنا جربت Laravel ... وهو يحتاج إلى أن يكون ما تبنيه ضخماً و مستهلكاً للموارد بشكل كبير جداً ... لماذا ؟
لأن عملية ال bootstrap الخاصة بال Laravel مستهلكة للموارد ... فإن كنت تعمل على مشروع صغير .. فالكود الذى تكتبه لن يستهلك مثلما يستهلك ال frameword و لذلك يفضل إن أردت العمل عليه من وجهة نظرى إذا كان لديك مشاريع كبيره مستهلكة للموارد بشكل كبير .
و هناك مشكلة فى Laravel .... أنا تعلمت Laravel 4 و حينما أردت الإنتقال ل Laravel 5 .. حينما صدر الإصدار الجديد .. وجدت أننى بحاجة إلى تعلم شئ جديد من البداية ... هناك مشكلة فى عدم إستقرار ال Core الخاص بهم إلى الآن .
لم أستخدم مسبقاً أي Framework على PHP فهل تنصحني أبدأ بـ CodeIgniter أم Zend أم Laravel ؟ مع ذكر الأسباب ؟
ما هو إنطباعك عن بناء المشاريع بـ CodeIgniter ولماذا؟
ما هو الشي الذي يدفع الناس الإنتقال من CodeIgniter الى فريمورك أخر؟
لم استخدم Laravel ولكنني استخدمت الاثنين (كوداجنايتر وزند) سأختار كوداجنايتر بينهما طبعا لأنه وكما قلت سابقا سهل التعلم ويغطي مشاريعك في الوقت الحالي أما زند فهو اطار متقدم جدا ويستخدم للمشاريع الضخمة ويلزمك عزيمة قوية بالاضافة الى الوقت ويلزمك ومن يساعدك فيه على عكس الكوداجنايتر. ابدأ بالكوداجنايتر صديقي.
كوداجنايتر كاطار لا يعيبه شئ , لكن المنتج النهائي (المشروع) الذي يطور قد لا يخرج بالصورة المطلوب او قد يخرج بالصورة المطلوبة وكل ذلك يعتمد على المبرمج.
من ينتقل قد يبحث عن اطار مخصص لل Enterprice Scale Projects وهو Zend في الوقت الحالي.
السلام عليكم لا توجد في Code Igniter خاصية عمل كود CRUD و بناء كلاس أوتوماتيكياً كما توجد لدى Symphony Zend و CakePHP.
و هذا ما لم يشجعني على استخدامه.هل تستخدم أي مكتبة لقيام بهده المهمة ؟
هل جربت Yii و ما رايك بها مقارنةً مع Code Igniter و باقي أطر العمل
يوجد ما يسمى بـ Active Record في الكوداجنايتر ومن خلاله يمكنك القيام بعمليات CRUD. لم اجرب للأسف Yii
ما أقصده هو خاصية generation للكود من خلال الكونسول أي أنك تقوم فقط بإنشاء قاعدة البيانات و تقوم هده الخاصية بإنشاء ملفات MVC كلها هده الخاصية موجودة على أطر مثل Zend Symphony و CakePHP لكني لم أجدها في كود إجنتر
السلام عليكم
انا الان أتعلم الcodeigniter وقد احببته ولكني أتعرض للكثير من المشاكل ولا اعلم كيف احلها ومن هذه المشاكل اني انشأت صفحةcontact في الveiw لكن لايظهر فيها ملفات الcss في الbootstrap هل يمكنك مساعدتي..!!
ولك جزيل الشكر ولتقدير.
التعليقات