DAVID مالان: دعونا تحسين الدورة على صفحة الرئيسية أبعد قليلا من قبل تعميم تلك الوظائف، renderHeader وrenderFooter، في، بكل بساطة، لأنه بعد كل تقدم، كانت متطابقة تقريبا باستثناء لأسمائهم. كيفية القيام بذلك؟ كذلك على قمة هذا الملف فقط، حيث أدناه نطلب helpers.php، دعونا ندعو ل وظيفة جديدة، تجعل، الذي الأولى حجة، دعنا نقول، يجب أن يكون اسم من قالب، وهو الملف الذي من المفترض ليكون في صوم هناك. وفي الوقت نفسه، تقوم الوسيطة الثانية تبقى مجموعة النقابي، في هذا لحالة مجموعة تحتوي على مفتاح ل عنوان قيمته هو هنا CS50. دعونا ننظر الآن في helpers.php. في helpers.php، ونحن الآن، من بالطبع، لديك واحدة فقط وظيفة محددة، تقديم. تقديم الآن يأخذ اثنين من الحجج، التي وسوف ندعو قالب والبيانات، و الأخير من قيمته الافتراضية لا تزال مجموعة فارغة. ولكن في هذا الإصدار من تقديم، إشعار أنني الآن بتعريف متغير المحلية ودعا مسار وتعيين قيمة قالب، والتي، على سبيل المثال، قد يكون الاقتباس، نهاية الاقتباس، "رأس" و إلحاق هذه السلسلة. بي. وبعبارة أخرى، دعونا نفترض الآن أنه إذا يسمى قالب لدينا رأس، ثم سيتم تنفيذ هذا القالب في ملف يسمى، بكل بساطة، header.php على. وفي الوقت نفسه، دعونا نفعل الاختيار التعقل سريعة. في حالة وجود هذا الطريق، الذي في وسعنا تحقق عن طريق ملف يسمى file_exists، ثم دعونا استخراج مجموعة النقابي دعا البيانات بحيث لدينا واحدة أو أكثر من المتغيرات المحلية في نطاق، ثم دعونا يتطلب هذا الطريق. وفي الوقت نفسه، يبدو تماما helpers.php ببساطة أحب هذا، بالضبط كما كان من قبل. ولكن إذا نظرنا الآن إلى الوراء في index.php، لاحظ أن في الجزء السفلي من أن ملف، يمكن أن نطلق بالمثل تقديم، ويمر في كبه الوحيد تذييل الحجة. في هذه الحالة، نحن لسنا بحاجة لتمرير في مجموعة النقابي لأن تذييل القالب، وأذكر، وهذا هو فقط. ولكن الآن لدينا يمكن القول يتساوى تصميم أنظف لأننا القضاء على بعض من لدينا خلاف ذلك كود زائدة ودمجها وظيفة واحدة فقط، تقديم.