إطار العمل Yii

[right] [size="3"]

بسم الله الرحمن الرحيم

إطار العمل Yii

هو إطار عمل عالي الاداء (سريع) مفضل لبناء تطبيقات Web 2.0

هذا هو التعريف المختصر لإطار العمل في الصفحة الرئيسية ولاكن بما انك وصلت إلى هذا الموضوع فأتوقع انك بحاجة إلى مزيد من التفصيل.

من اهم مايميز هذا الاطار انه مبني بهيكلية

[/size][center][size="3"]MVC: Model-View-Controller[/size]

[/center][size="3"]

كم وانه مبنى بشكل متكامل كـ

[/size][center][size="3"]component-based[/size]

[/center][size="3"]

وهذا يفيدنا بعده امور اهمها سرعه اداء الاطار (وذلك بعدم تشغيل اي كومبوننت انت لست بحاجته أو انك لن تستخدمة في الكود) وايضا نستفيد من امكانية اعاده الاستخدام وسرعه انجاز الكود.

ولمشاهده الرسم البياني لأداء وسرعه الاطار مقارنة مع اطر العمل الاخرى اضغط هنا

يجمع اطار العمل هذا قائمة جيدة من اهم مزايا اطر عمل الموجودة حيث انه مقتبس من اهم مزايا تلك الاطر ومنظم بطريقة تسهل العمل عليه وتجعله صالح للاستخدام للمشاريع البسيطة والكبيرة على حد سواء.

كما وتم دمج مكتبة

jQuery

بشكل افتراضي داخل اطار العمل لإنشاء مواقع تعتمد الاجاكس بكل سهولة.

دعونا نتعمق اكثر ونستعرض قائمة (بأهم) المزايا التي يمتلكها وسأسردها هنا بشكل مختصر:

[/size][left][size="3"]- Form input and validation[/size]

[size="3"]- Database Access Objects (DAO), Query Builder, Active Record, DB Migration[/size]

[size="3"]- Internationalization (I18N) and localization (L10N)[/size]

[size="3"]- AJAX-enabled widgets[/size]

[size="3"]- Authentication and authorization (RBAC)

[/size][size="3"]- Error handling and logging[/size]

[size="3"]- Extension library[/size]

[size="3"]- Security[/size]

[/left][size="3"]

كما ويوجد به مزايا اخرى جميلة ومتقدمة مثل :

[/size][left][size="3"]- Unit and functionality testing[/size]

[size="3"]- Layered caching scheme[/size]

[size="3"]- Skinning and theming[/size]

[size="3"]- Web services[/size]

[/left][size="3"]

وغيرها من المزايا الاخرى والتي تجعل منه اداة قوية جدا لانشاء مشاريع الويب بكفاءة ومرونة عالية.

من ضمن المزايا الجديدة في الاصدار الجديد هي:

[/size][center][size="3"]DB Migration[/size]

[/center][size="3"]

كل من استخدم (روبي اون ريلز) يعرف فائدة هذه الميزة في مرحلة تطوير قاعده البيانات للمشروع بحيث ان يكون لديك كامل التعديلات على هيكلية وبناء الجداول المنشأه خطوة بخطوة وتكون مضمنة مع الكود بدون الحاجة لاخذ نسخة من قاعده البيانات من اجل الاسكيما.

والجميل انك تستطيع التنقل بين هذه الاصدارات (حذف جداول انشاء جداول اضافة وحذف حقول وفهرسة وكل شي) دون الحاجة إلى ان تتعامل مع قاعده البيانات بشكل مباشر ابدا، فكل ذلك يتم من خلال كود بي اتش بي واوامر بسيطة من سطر الاوامر.

معلومة اخرى قد تلهم البعض وهي ان منشئ اطار العمل

Yii

هو نفسة منشئ ومؤسس اطار العمل

Prado

:blink:

فلماذا قرر ترك ذلك الاطار رغم نجاحة ؟ بكل بساطة لانه قرر اعادة هيكلة اطار العمل بالكامل لتفيذ كل ماكان يخطط له بحيث ركز على السهولة والبساطة في كتابة الكود وفي اطار العمل بشكل عام، وجمع اهم مزايا اطر العمل الاخرى وحقيقة ارى انه نجح في تحقيق هدفة إلى الان. B)

خبرتي في مجال تطوير تطبيقات الانترنت تقارب التسع سنين استخدمت خلالها عده اطر عمل وانجزت تطبيقات بها ومن ضمن ماأستخدمته كان الروبي اون ريلز (كخيار اول) - وكيك بي اتش بي (نسخة ريلز على بي اتش بي) - زند - كود اقنايتر ولم استمتع بمعظمها كما في اطار العمل هذا لسلاستة وشموليتة وسهولته والدعم الرائع.

فإذا كنت ترى ان طريقة تطويرك لتطبيقات الانترنت سواء بأطر العمل او بدونها غير مرضي بالنسبة لك (غالبا هذا هو سبب قرائتك لهذا الموضوع ;)) فأنصحك بإلقاء نظرة جادة على هذا الاطار.[/size]

[size="3"]ولاتنسى ان كل اطر العمل هي مجرد ادوات تساعدك على اتمام وانجاز مهامك ومشاريعك بشكل رئيسي فلاتشغل نفسك كثيرا بالبحث والتقصي وابدأ مشروعك (البرمجة) لتنتج وتنجز.

[/size][size="3"]نقطة اخرى اود ان اتطرق اليها وهي موضوع الترخيص (لانه قد يهم البعض كثيرا) فإطار العمل هذا مجاني وبدون شروط حتى للمشاريع التجارية، يعني بإختصار (عيش حياتك).

[/size][size=“3”]كانت هذه نبذة مختصرة جدا عن اطار العمل (بدون اي تحيز ??? ،،، اعتقد !!) اتمنى ان تجدو بين طيات الموضوع مايفيدكم.[/size][size=“3”]

بعض المواقع المنجز بهذا الاطار هي

harley-davidson.co.uk

stay.com

FlexicaCMS.com

Piece Maker 2

Bugitor

لاتتردد بأي استفسار …

بالتوفيق للجميع.

مؤيد المحمدي

[/size] [/right]

[rtl][font="Tahoma"]السلام عليكم الأخ مؤيد المحمدي

وشكرا مسبقا لدعم المنتدى العربي المتعلق بهذا الإطار وهي مبادرة طبية

سؤالي لو سمحت لنفرض أني أنجزت موقع مدعوم بهذا الإظار ولدي استضافة بهذا العديد من أسماء النطاقات لنقول مثلا عشرة نطاقات.

و أريد تثبيت المواقع المدعومة بهذا الإطار على أسماء النطقات المتواجدة عندي في الاستضافة على أن يأتي كل موقع مندرج تحت اسم النطاق الخاص به ويكون هناك مجلد واحد فقط خاص بالأظار الذي يدعم هاته المواقع

فكيف يمكن التثبيب لهذا وهل ضروري كل مرة أو بجانب كل موقع أضع مجلد الإطار بجانب كل موقع لكل اسم النطاق

انتظر لو أمكن مساعدتكم لو كان فيه حل[/rtl][/font]

وعليكم السلام ورحمة الله وبركاته

[rtl]

حياك الله اخوي عبدو ومشكلتك ان شاء الله بسيطة

ليس من الضروري وضع اطار العمل بجانب الموقع في كل مرة وتستطيع ان تكتفي بمجلد اطار عمل واحد فقط لجميع المواقع بشرط

ان لاتقوم بتعديل اي ملفات على مجلد اطار العمل حتى لاتتأثر المواقع الاخرى

وكل ماعليك فعله لتحقيق ذلك هو ان تقوم بوضع مجلد اطار العمل في مكان يستطيع باقي المواقع التسعه الدخول إليه ومشاهدته

ومن ثم تقوم بتعديل ملف index.php (ملف الدخول الاساسي) وتعديل المسارات بما يتناسب مع اعداداتك

[/rtl]




// change the following paths if necessary

$yii=dirname(__FILE__).'/../framework/yii.php';  // يشير إلى مجلد اطار العمل



[rtl]

اخوي عبدو … مع اطار العمل هذا تستطيع الذهاب لأكثر من هذا بكثير فعلى سبيل المثال

تستطيع ان تقوم بعمل موقع واحد فقط لإدارة وعرض جميع المواقع او الدومينات العشرة التي لديك دون الحاجة لعمل عشرة مواقع !!

مع ملاحظة انه بكل دومين سيظهر كموقع مختلف كليا عن الاخر :)

اتمنى ان اكون قد افدتك اخوي عبدو واي استفسار او ملاحظة لاتتردد بالسؤال

بالتوفيق

مؤيد المحمدي

[/rtl]

[font="Tahoma"][rtl]السلام عليكم،

شكرا لك أخي المؤيد المحمدي وبارك الله فيك.

بالنسبة للنقطة الأولى، وهي وضع مجلد إطار العمل (YiiRoot) في مكان خاص دون الحاجة إلى تعديل مع الانتباه إلى تغيير المسارات داخل مجلدات التطبيقات (index.php) لتشير إلى مجلد إطار العمل : قمت بتغيير المسارات وتعمل الآن.

بالنسبة للنقطة التانية وهي عمل موقع واحد يمكن من عرض و إدارة كل المواقع و إمكانية إظهار كل اسم نطاق بشكل منفصل: هذه أتركها الآن فأنا أسير خطوة خطوة مع هذا الإطار بدأت الاشتغال عليه تقريبا ليس بوقت كثير و أتمنى أن أوفق فيه ما أعجبني فيه هو أنه يدعم (Web 2.0).

أخي بالنسبة لمسئلة التعريب لهذا الإطار هل هناك مستجدات وهل هناك فريق عمل يقوم بذالك، تعريب الرسائل و تحسينات لكي يدعم الإطار اللغة العربية بشكل جيد مثلأ؟[/rtl][/font]

[rtl]

[font="Tahoma"]وعليكم السلام ورحمة الله وبركاته

الحمدلله انها اشتغلت معاك :)

بخصوص مشروع الترجمة عندي قائمة حاليا بالاشخاص الي عندهم استعداد يساعدو فيه فإذا حبيت ممكن اضيفك للقائمة

انتهى تقريبا تطوير الموقع الي راح يساعدنا في انهاء هذه العملية بشكل افضل ومنظم

التأخير في الحقيقة كان مني انا وذلك بعدم اطلاق الموقع واكمال الرتوش البسيطة والسبب في ذلك يعود

إلى اني اقوم حاليا بالانتقال من للسكن من دولة إلى اخرى وانني ابحث عن عمل في هذه الفترة فلا أكاد اجد الوقت ولاكني اعدكم ان شاء الله تعالى

ان الفترة لن تطول وسيتم اطلاق الموقع قريبا والتواصل مع جميع المشاركين لتعريب الرسائل والدليل درس المدونة

وشاكر لك حرصك على متابعة المستجدات في مشروع التعريب

وبخصوص دعم اطار العمل هذا للويب 2 فهذا فقط احد المزايا الرائعه التي يقدمها … واعدك انه بعد انا تعتاد على العمل في اطار العمل هذا

انك ستتفاجأ بمزايا اخرى كثيرة يتم تنفيذها بهذا الاطار بسهولة ومرونة

بالتوفيق اخوي واتمنى لك رحلة موفقة مع هذا اطار العمل[/font]

[/rtl]

شكراً لك:

أيضاً يمكنكم التعرف أكثر على ال Yii

من خلال هذا الشرح الذي كتبه المطور المحترف مؤيد السعدي

http://www.ojuba.org/wiki/docs/yii-basics

[rtl]

رابط متميز وجهد مشكور انصح الجميع بالاطلاع عليه

[/rtl]