SPEAKER: Mari kita meningkatkan program homepage dengan memungkinkan diri untuk memberikan judul kustom untuk masing-masing halaman, sehingga masing-masing dari mereka adalah tidak, cukup sederhana, CS50. Untuk melakukan hal ini, mari kita menerapkan beberapa fungsi, yang disebut Render header dan satu disebut Render Footer, bahwa bukannya Perlu Sendiri akan mengambil perawatan rendering kami header dan footer halaman. Mari kita lihat. Di dalam index.php sekarang, perhatikan bahwa Saya membutuhkan sebuah file baru yang disebut Helpers.php. Itu di sana bahwa dua fungsi saya akan didefinisikan. Di bawah itu, perhatikan bahwa aku sekarang menelepon fungsi yang Render header. Dan aku lewat di sebuah argumen. Jenis argumen yang tampaknya array, yang dalam PHP dinotasikan dengan tanda kurung siku. Secara khusus, array ini adalah array asosiatif sejauh asosiasi kunci, seperti judul, dengan nilai, seperti CS50, daripada mengandalkan pada indeks numerik saja. Di bawah ini yang sekarang kita memiliki unordered list saya. Tapi di bawah itu, kita memiliki panggilan untuk Render Footer, fungsi lain yang didefinisikan mungkin di Helpers.php. Mari kita lihat di sana sekarang. Dalam Helpers.php, perhatikan yang saya miliki, memang, fungsi yang Render Footer tujuan yang dalam hidup adalah tampaknya untuk mengambil sebagai argumen array disebut Data. Sekarang, jika pengguna tidak menyediakan array yang eksplisit, fakta bahwa ada tanda yang sama diikuti oleh kotak kosong kurung berarti bahwa nilai default Data hanya akan menjadi array kosong. Di dalam Render Footer, perhatikan bahwa aku memanggil fungsi yang disebut Extract. Extract mengambil array asosiatif, seperti Data dalam hal ini, dan untuk setiap kunci di dalamnya, ternyata kunci yang menjadi variabel lokal dengan nama yang sama. Jadi jika array asosiatif memiliki kunci disebut Foo, ekstrak akan memastikan bahwa kita sekarang memiliki variabel lokal yang disebut tanda dolar Foo, yang nilainya adalah sama seperti itu dalam array asosiatif. Terakhir, saya sebut Mengharuskan Footer.php, yang sebagai samping, terlihat cukup sederhana seperti ini. Sekarang, kembali di Helpers.php, perhatikan bahwa kami juga telah Render Header, yang Argumen yang sama, array disebut Data yang standar nilai adalah array kosong. Kami kemudian memanggil Extract lagi, seperti sebelumnya. Dan kemudian kita Perlu Header.php, Isi yang sekarang ini. Di dalam Header.php, perhatikan bahwa kita tidak lagi memiliki judul kode keras. Dan kita sekarang memiliki tag H1, juga. Secara khusus, nilai judul akan menjadi apa pun nilai variabel lokal yang disebut Judul adalah. Setelah melewati ke fungsi PHP disebut HTML khusus Chars, kita akan untuk mendapatkan bahwa nilai kembali, dan kemudian hubungkan ke HTML saya keluaran dengan cara fungsi ini, disebut Echo. Sungguh, ini adalah notasi singkat untuk pemanggilan fungsi yang mungkin sebaliknya terlihat seperti ini. Tapi itu jauh lebih bersih, sederhana, untuk menulis braket terbuka tanda tanya sama menandatangani, bahkan tanpa menyebutkan PHP. Saya sekarang akan melakukan bagian dalam yang sama bahwa H1 tag sehingga pada akhirnya, jika pengguna lolos ke Render fungsi header saya array asosiatif, dalam yang merupakan kunci yang disebut Judul, bahwa kunci asosiatif array akan menjadi variabel lokal yang disebut Judul tanda dolar. Kami kemudian akan melewati bahwa dolar tanda Judul variabel untuk fungsi ini, HTML Karakter Khusus. Dan hanya dalam kasus yang ada berpotensi karakter berbahaya sana, seperti ampersands atau lainnya seperti simbol, HTML khusus Chars akan membuat yakin bahwa mereka diberikan aman di halaman. Dan dengan menggunakan pertanyaan terbuka braket menandai tanda sama, aku benar-benar menggantikan di saat itu bagian dari halaman apapun nilai kembali HTML adalah Chars. Sementara itu, di Lectures.php, saya memiliki nilai baru untuk Judul. Tidak CS50, tapi Kuliah. Di Week0.php, saya memiliki nilai Minggu 0. Dan di Week1.php, saya memiliki nilai Minggu 1. Jadi pada akhir hari, halaman saya terlihat cukup seperti itu sebelumnya. Tapi sekarang kami telah mendapat banyak, desain yang jauh lebih baik.