ترتيب تنفيذ PHP: الرأس، الصفحة الرئيسية والتذييل
يعرض لك هذا البرنامج التعليمي للمطورين كيفية تنفيذ سكريبتات PHP المختلفة بناءً على تخطيط أساسي مع bx_Header.html و index.html و bx_Footer.html. ستتعلم كيف يتم توسيع محتوى $LayoutHTML خطوة بخطوة وأين يمكنك إجراء تغييرات تعتمد على الصفحة أو عالمية.
المتطلبات والهدف
بالنسبة لهذا البرنامج التعليمي للمطورين، يجب أن تعرف كيف يجمع نظام إدارة المحتوى bluetronix صفحة من تخطيطها، الرأس، الصفحة الرئيسية والتذييل. سنظهر لك، في أي ترتيب يتم تنفيذ سكريبتات PHP لهذه الأجزاء وأي أجزاء من $LayoutHTML تم تحميلها بالفعل.
في المثال، يتكون التخطيط الأساسي من ملفات نظام إدارة المحتوى bx_Header.html و index.html و bx_Footer.html. تمثل الصفحة الرئيسية index.html الصفحة HTML التي تم استدعاؤها.
التخطيط الأساسي: الرأس، الصفحة الرئيسية والتذييل
يحدد التخطيط الأساسي ترتيب إدراج الثلاثة أجزاء. في المثال المقدم، يمكنك العثور على تعريف التخطيط في الجدول 00_layout.
المقطع المعني من التخطيط يبدو كما يلي:
__DB_Layout_/bx_Header.html__
<main>
__DB_Layout_Main__
</main>
__DB_Layout_/bx_Footer.html__
العنصر النائب الأول يدمج bx_Header.html. داخل عنصر main، يتم دمج الصفحة التي تم استدعاؤها حاليًا عبر __DB_Layout_Main__، في مثالنا index.html. ثم يلي ذلك bx_Footer.html.
على الرغم من أن تعريف التخطيط يحتوي على الثلاثة أجزاء، يتم تحميل محتوى HTML الخاص بكل جزء من أجزاء PHP واحدة تلو الأخرى في $LayoutHTML.
1. يتم تنفيذ كود PHP للرأس أولاً
افتح في مدير الملفات ملف bx_Header.html. باستخدام كود PHP، يمكنك تعديل كود PHP لهذه المنطقة.
الرأس هو أول جزء يتم تحميله في الصفحة. أثناء تنفيذ كوده PHP، يحتوي $LayoutHTML لذلك على HTML من bx_Header.html فقط.
PHP-Code: bx_Header.html
$LayoutHTML enthält:
bx_Header.html
يمكنك هنا على سبيل المثال استبدال عناصر الرأس أو إعداد التنقل. لا يمكنك الوصول بعد إلى المحتوى الفعلي لـ index.html أو bx_Footer.html عبر $LayoutHTML في هذه المرحلة.
2. يتم تنفيذ كود PHP للصفحة الرئيسية بعد ذلك
بعد الرأس، يقوم نظام إدارة المحتوى بتحميل الصفحة الرئيسية المستدعاه، هنا index.html، وينفذ كود PHP الخاص بها. في هذه اللحظة، يحتوي $LayoutHTML على كل من كود HTML للرأس وكود HTML للصفحة الرئيسية.
PHP-Code: index.html
$LayoutHTML enthält:
bx_Header.html
index.html
لذا، يمكن لكود PHP للصفحة الرئيسية استبدال العناصر الخاصة به، وكذلك تغيير العناصر الموجودة بالفعل داخل الرأس.
على سبيل المثال: إذا كان رأسك يحتوي على العنصر __HeaderClass__، يمكنك استبداله من الصفحة الرئيسية:
$LayoutHTML = str_replace("__HeaderClass__","active",$LayoutHTML);
بهذه الطريقة، يمكن لصفحة رئيسية معينة على سبيل المثال، وسم عنصرها في القائمة النشط داخل الرأس الذي تم تحميله بالفعل.
لم يتم تحميل التذييل في هذه اللحظة. لذا، لا يمكن تغيير محتواه HTML بشكل موثوق عبر $LayoutHTML.
3. يتم تنفيذ كود PHP للتذييل في الأخير
أخيرًا، يقوم نظام إدارة المحتوى بتحميل bx_Footer.html وينفذ كوده PHP. الآن يحتوي $LayoutHTML على محتويات HTML لجميع الأجزاء الثلاثة.
PHP-Code: bx_Footer.html
$LayoutHTML enthält:
bx_Header.html
index.html
bx_Footer.html
لذا يمكن لكود PHP في التذييل استبدال العناصر داخل الرأس، الصفحة الرئيسية أو التذييل، طالما أنها لا تزال موجودة في ذلك الوقت.
إذا كان HTML المحمل بالفعل يحتوي على العنصر __MyTitle__، يمكنك استبداله هناك:
$LayoutHTML = str_replace("__MyTitle__","My Custom Title",$LayoutHTML);
تعتبر الفوتر مناسبة أيضًا للتعديلات المشتركة، التي يجب إجراؤها فقط بعد تحميل هيكل الصفحة بالكامل.
ترتيب التنفيذ في لمحة
القاعدة الحاسمة هي: يمكن لـ PHP من خلال $LayoutHTML تغيير فقط المناطق HTML التي تم تحميلها بالفعل في ذلك الوقت.
1. bx_Header.html
PHP sieht: Header
↓
2. index.html
PHP sieht: Header + Hauptseite
↓
3. bx_Footer.html
PHP sieht: Header + Hauptseite + Footer
إذا كنت ترغب على سبيل المثال في التحكم في عنصر الهيدر من صفحة معينة، فإنك تستخدم كود PHP لهذه الصفحة الرئيسية. إذا كان يجب استبدال عنصر في جميع المناطق المحملة الثلاث، فإن كود PHP الذي تم تنفيذه مؤخرًا في الفوتر هو الأنسب.
مهم عند استخدام وظائف PHP الخاصة بك
إذا قمت بتعريف وظائف PHP خاصة في المناطق المختلفة، تأكد من أن نفس الوظيفة لا يتم تعريفها عدة مرات أثناء استدعاء الصفحة. استخدم أسماء وظائف فريدة أو تحقق قبل التعريف مما إذا كانت الوظيفة موجودة بالفعل.
if(!function_exists("MyTemplateFunction")) {
function MyTemplateFunction() {
return true;
}
}
ملخص
في تخطيطنا الأساسي، يتم تنفيذ كود PHP من bx_Header.html أولاً، ثم كود PHP من index.html وأخيراً كود PHP من bx_Footer.html. مع كل خطوة، يتوسع محتوى HTML الذي يمكنك الوصول إليه عبر $LayoutHTML.
لذا، ضع كود PHP الخاص بك في المكان الذي تم تحميل المناطق HTML المطلوبة فيه بالفعل: في الهيدر للتعديلات المتعلقة بالهيدر، في الصفحة الرئيسية للمحتويات الخاصة و الهيدر الذي تم تحميله مسبقًا أو في الفوتر لتعديلات على التخطيط الذي تم تجميعه بالفعل.
الأسئلة المتكررة
ما الذي يسأله العملاء غالباً
ما هو ترتيب تنفيذ سكريبتات PHP؟
أولاً يتم تنفيذ كود PHP من bx_Header.html، ثم كود PHP للصفحة الرئيسية، مثل index.html، وأخيرًا كود PHP من bx_Footer.html.
ما هي المناطق HTML التي يحتوي عليها $LayoutHTML خلال كود PHP للهيدر؟
خلال تنفيذ كود PHP للهيدر، يحتوي $LayoutHTML فقط على محتوى HTML الذي تم تحميله مسبقًا من bx_Header.html.
هل يمكن أن تغير الصفحة الرئيسية كود HTML للهيدر؟
نعم. عندما يتم تنفيذ كود PHP للصفحة الرئيسية، يكون الهيدر والصفحة الرئيسية مدرجين بالفعل في $LayoutHTML. وبالتالي يمكنك على سبيل المثال استبدال عنصر تم إنشاؤه مسبقًا في الهيدر.
لماذا لا يمكن كود PHP للهيدر تغيير الفوتر بعد؟
يتم تحميل الفوتر فقط بعد الصفحة الرئيسية. لذا، محتواه HTML غير موجود بعد في $LayoutHTML أثناء كود PHP للهيدر.
ما هي المناطق التي يمكن لكود PHP للفوتر تغييرها؟
في وقت تنفيذ الفوتر، يحتوي $LayoutHTML بالفعل على الهيدر والصفحة الرئيسية والفوتر. يمكن استبدال العناصر المتبقية في هذه المناطق هناك.
أين أستطيع رؤية بناء التخطيط الأساسي؟
يتم عرض تعريف التخطيط في المثال في الجدول 00_layout. إنها تربط bx_Header.html، الصفحة الرئيسية الحالية و bx_Footer.html.
أين يمكنني تعديل كود PHP من bx_Header.html؟
اختر bx_Header.html في مدير الملفات وافتح كود PHP.
ماذا يجب أن ألاحظ عند استخدام وظائف PHP الخاصة في الهيدر والصفحة الرئيسية؟
لا يجوز تعريف الوظائف الخاصة عدة مرات بنفس الاسم أثناء استدعاء الصفحة. استخدم أسماء فريدة أو تحقق قبل التعريف باستخدام function_exists() مما إذا كانت الوظيفة موجودة بالفعل.