>> 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.