DAVID MALAN: Mari kita memperbaiki kursus ini halaman utama sedikit lagi oleh Mengeneralisi fungsi itu, renderHeader dan renderFooter, ke dalam, agak mudah, menyebabkan kerana selepas semua, mereka hampir sama kecuali nama-nama mereka. Bagaimana untuk melakukan ini? Nah di atas fail ini hanya, di bawah mana kami memerlukan helpers.php, mari kita memanggil fungsi baru, memberi, yang pertama hujah, katakan, adalah nama daripada template, fail yang bertujuan untuk dipasang di sana. Sementara itu, hujah kedua hendaklah kekal pelbagai bersekutu, dalam ini dalam hal keadaan kes pelbagai yang mengandungi kunci untuk tajuk yang nilainya sini CS50. Mari kita sekarang melihat helpers.php. Dalam helpers.php, kami sekarang, daripada Sudah tentu, mempunyai hanya satu fungsi ditakrifkan, menyebabkan. menyebabkan mengambil kini dua hujah, yang kami akan memanggil template dan data, akhir yang nilai lalai masih pelbagai kosong. Tetapi dalam versi ini menyebabkan, notis bahawa saya dengan ini mengisytiharkan pembolehubah tempatan dipanggil jalan dan sediakan nilai template, yang, misalnya, mungkin menjadi quote, unquote, "header" dan melampirkan itu. php tali. Dalam erti kata lain, mari kita andaikan untuk sekarang bahawa jika template kita dipanggil header, maka template yang akan dilaksanakan dalam fail yang dipanggil, cukup mudah, header.php. Sementara itu, mari kita buat satu cek kewarasan cepat. Jika laluan yang wujud, yang kita boleh semak melalui fail yang dipanggil file_exists, maka mari kita mengekstrak array bersekutu dipanggil data supaya kita mempunyai satu atau lebih pembolehubah tempatan dalam skop, dan kemudian mari kita memerlukan jalan itu. Sementara itu, helpers.php kelihatan agak hanya suka ini, betul-betul seperti sebelum ini. Tetapi jika kita kini melihat kembali index.php, melihat bahawa di bahagian bawah yang fail, kami juga boleh menghubungi memberi, lulus dalam sebagai yang tunggal footer hujah. Dalam kes ini, kita tidak perlu untuk lulus dalam pelbagai bersekutu kerana template kaki, ingat, hanya ini. Tetapi sekarang kita mempunyai boleh dikatakan yang lebih reka bentuk lebih bersih kerana kita telah dihapuskan beberapa sebaliknya kami kod berlebihan dan disatukan ke dalam hanya satu fungsi, menyebabkan.