تفاصيل الحلقة
- المستوى : متقدم
- المدة : ٣٠ دقيقة
توطيد
قبل البدء بقراءة تعليمات الحلقة الرابعة من سلسلة تعلم منصة عمل زند لابد ان تكون قد أنشأت نطاق محلي وقد أتممت قراءة الحلقات السابقة لزندwww1.zendapp.com هو النطاق المحلي الذي أنشته في الدرس السابق وستكون جميع الخطوات مبنية عليه لاحقا
توضيح العناوين
قد تكون إعتدت البرمجة في أيام سابقة على نظام إنشاء ملف بي إتش بي وثم وضع مجموعة الشيفرات في داخل ذلك الملف و تشغيل ذلك الملف بإستدعاء إسمه في عنوان الموقع في متصفحك.زند تقدم طريقة مختلفة للعناوين
تطبيقات زند تحتوي على عناوين خاصة بنظام زند يراعي تقديم روابط نظيفة مفضلة لمحركات البحث التي تقوم بأرشفة روابط موقعك وتقدم لك نظام سهلاً لنقل المتغيرات إلى صفحاتك وتجعل من عملية بناء صفحة خاصة لكل عنوان أمر غير مطلوب وغير موجود فالعناوين في تطبيق زند لا تعكس وجود ملفات بي اتش بي بنفس الأسماء على خادمك .[protocol]://[URL]/[Controller]/[Action]/{[var]/[value]}تتضمن المعادلة السابقة جميع اساسيات العناوين الافتراضية في تطبيقات زند ، التفسير :
- protocol : http , https
- URL : www.example.com , www1.zendapp.com
- Controller : يحتوي هذا المقطع على اسم كلاس الكونترولر
- Action : يحتوي هذا المقطع على اسم الدالة في داخل الكونترولر
- {[var]/[value]/} : هذا المقطع يحتوي على مجموعة من المتغيرات التي تكتب على صيغة إسم المتغير متبوعا بالقيمة
ويمكنك تجربة العنوان التالي في المتصفح الخاص بك ، للتطبيق الذي قمنا بإنشاءه سابقاً
http://www1.zendapp.com/index/index/
وبمطابقة القاعدة نجد أن إسم الكونترولر هو index و الأكشن هو index .. ويمكن الإطلاع على محتوى مجلد controller داخل مجلد application فنجد أن ملف بإسم IndexController.php وحين الاطلاع على الشيفرات بداخله ستجد دالة بإسم indexAction() ضمن فئة (كلاس) IndexController .
* الكونترولرز هي فئات ( كلاس ) مكتوبة بلغة بي إتش بي ولا بد ان ترث من فئة Zend_Controller_Action ، إسم الكلاس يجب أن يطابق إسم الملف المكتوب في داخله ويضاف لإسم الكونترولر المقطع Controller ضمن الإسم في النهاية.
* الأكشن هي عبارة عن دالة في داخل الكنترولر وتحتوي على المقطع Action في نهاية إسم الدالة . وتحمل صلاحية public.
ثالثاً : Controllers + Actions + Views
تحدد العناوين والروابط للصفحات بتركيبة إسم الكونترولر و إسم الأكشن معاً .. ولكل عنوان هناك مخرجات HTML خاصة توضع بداخل ملف يسمى View . زند في تطبيقاتها أيضا تقوم بتنظيم عملية إنشاء المخرجات و استخدام ملف view الخاص بكل كونترولر بالنظر داخل مجلد application/views/scripts داخل مجلدات تطبيقك تجلد مجلد بإسم الكونترولر index وبداخلة ملف بإسم الاكشن index.phtml وعليه فإن مبدأ تكامل العنوان مع اسم الكونترولر والأكشن ينعكس على إنشاء مخرجات الـ HTML وملف التمبلت الخاص بكل Action فلكل كونترولر هناك مجلد بنفس الإسم و لكل أكشن هنك ملف view يحمل نفس الإسم و بإمتداد .phtml وفي داخل ملف الـ view تجد محتويات صفحتك .