1 00:00:00,000 --> 00:00:00,170 2 00:00:00,170 --> 00:00:03,090 >> SPEAKER: Mari kita meningkatkan program homepage dengan memungkinkan diri untuk 3 00:00:03,090 --> 00:00:06,610 memberikan judul kustom untuk masing-masing halaman, sehingga masing-masing dari mereka adalah 4 00:00:06,610 --> 00:00:08,780 tidak, cukup sederhana, CS50. 5 00:00:08,780 --> 00:00:12,550 Untuk melakukan hal ini, mari kita menerapkan beberapa fungsi, yang disebut Render header 6 00:00:12,550 --> 00:00:16,410 dan satu disebut Render Footer, bahwa bukannya Perlu Sendiri akan mengambil 7 00:00:16,410 --> 00:00:19,330 perawatan rendering kami header dan footer halaman. 8 00:00:19,330 --> 00:00:20,280 Mari kita lihat. 9 00:00:20,280 --> 00:00:24,490 >> Di dalam index.php sekarang, perhatikan bahwa Saya membutuhkan sebuah file baru yang disebut 10 00:00:24,490 --> 00:00:26,070 Helpers.php. 11 00:00:26,070 --> 00:00:28,910 Itu di sana bahwa dua fungsi saya akan didefinisikan. 12 00:00:28,910 --> 00:00:32,960 Di bawah itu, perhatikan bahwa aku sekarang menelepon fungsi yang Render header. 13 00:00:32,960 --> 00:00:34,830 Dan aku lewat di sebuah argumen. 14 00:00:34,830 --> 00:00:39,040 >> Jenis argumen yang tampaknya array, yang dalam PHP dinotasikan 15 00:00:39,040 --> 00:00:40,370 dengan tanda kurung siku. 16 00:00:40,370 --> 00:00:44,210 Secara khusus, array ini adalah array asosiatif sejauh 17 00:00:44,210 --> 00:00:49,620 asosiasi kunci, seperti judul, dengan nilai, seperti CS50, daripada mengandalkan 18 00:00:49,620 --> 00:00:51,570 pada indeks numerik saja. 19 00:00:51,570 --> 00:00:53,820 Di bawah ini yang sekarang kita memiliki unordered list saya. 20 00:00:53,820 --> 00:00:57,180 Tapi di bawah itu, kita memiliki panggilan untuk Render Footer, fungsi lain 21 00:00:57,180 --> 00:00:59,980 yang didefinisikan mungkin di Helpers.php. 22 00:00:59,980 --> 00:01:01,500 >> Mari kita lihat di sana sekarang. 23 00:01:01,500 --> 00:01:06,760 Dalam Helpers.php, perhatikan yang saya miliki, memang, fungsi yang Render Footer 24 00:01:06,760 --> 00:01:11,100 tujuan yang dalam hidup adalah tampaknya untuk mengambil sebagai argumen array 25 00:01:11,100 --> 00:01:12,130 disebut Data. 26 00:01:12,130 --> 00:01:15,870 Sekarang, jika pengguna tidak menyediakan array yang eksplisit, fakta bahwa ada 27 00:01:15,870 --> 00:01:20,610 tanda yang sama diikuti oleh kotak kosong kurung berarti bahwa nilai default 28 00:01:20,610 --> 00:01:23,410 Data hanya akan menjadi array kosong. 29 00:01:23,410 --> 00:01:27,670 >> Di dalam Render Footer, perhatikan bahwa aku memanggil fungsi yang disebut Extract. 30 00:01:27,670 --> 00:01:32,170 Extract mengambil array asosiatif, seperti Data dalam hal ini, dan untuk setiap 31 00:01:32,170 --> 00:01:37,060 kunci di dalamnya, ternyata kunci yang menjadi variabel lokal dengan nama yang sama. 32 00:01:37,060 --> 00:01:41,640 Jadi jika array asosiatif memiliki kunci disebut Foo, ekstrak akan memastikan bahwa 33 00:01:41,640 --> 00:01:45,680 kita sekarang memiliki variabel lokal yang disebut tanda dolar Foo, yang nilainya adalah 34 00:01:45,680 --> 00:01:48,140 sama seperti itu dalam array asosiatif. 35 00:01:48,140 --> 00:01:52,890 >> Terakhir, saya sebut Mengharuskan Footer.php, yang sebagai samping, terlihat 36 00:01:52,890 --> 00:01:54,900 cukup sederhana seperti ini. 37 00:01:54,900 --> 00:01:59,390 Sekarang, kembali di Helpers.php, perhatikan bahwa kami juga telah Render Header, yang 38 00:01:59,390 --> 00:02:02,610 Argumen yang sama, array disebut Data yang standar 39 00:02:02,610 --> 00:02:04,380 nilai adalah array kosong. 40 00:02:04,380 --> 00:02:07,060 Kami kemudian memanggil Extract lagi, seperti sebelumnya. 41 00:02:07,060 --> 00:02:12,130 Dan kemudian kita Perlu Header.php, Isi yang sekarang ini. 42 00:02:12,130 --> 00:02:16,980 >> Di dalam Header.php, perhatikan bahwa kita tidak lagi memiliki judul kode keras. 43 00:02:16,980 --> 00:02:19,720 Dan kita sekarang memiliki tag H1, juga. 44 00:02:19,720 --> 00:02:24,030 Secara khusus, nilai judul akan menjadi apa pun nilai 45 00:02:24,030 --> 00:02:26,750 variabel lokal yang disebut Judul adalah. 46 00:02:26,750 --> 00:02:31,800 Setelah melewati ke fungsi PHP disebut HTML khusus Chars, kita akan 47 00:02:31,800 --> 00:02:36,560 untuk mendapatkan bahwa nilai kembali, dan kemudian hubungkan ke HTML saya keluaran 48 00:02:36,560 --> 00:02:39,430 dengan cara fungsi ini, disebut Echo. 49 00:02:39,430 --> 00:02:43,580 >> Sungguh, ini adalah notasi singkat untuk pemanggilan fungsi yang mungkin sebaliknya 50 00:02:43,580 --> 00:02:44,780 terlihat seperti ini. 51 00:02:44,780 --> 00:02:49,010 Tapi itu jauh lebih bersih, sederhana, untuk menulis braket terbuka tanda tanya sama 52 00:02:49,010 --> 00:02:51,400 menandatangani, bahkan tanpa menyebutkan PHP. 53 00:02:51,400 --> 00:02:56,260 Saya sekarang akan melakukan bagian dalam yang sama bahwa H1 tag sehingga pada akhirnya, jika 54 00:02:56,260 --> 00:03:00,520 pengguna lolos ke Render fungsi header saya array asosiatif, dalam 55 00:03:00,520 --> 00:03:05,310 yang merupakan kunci yang disebut Judul, bahwa kunci asosiatif array akan menjadi 56 00:03:05,310 --> 00:03:07,870 variabel lokal yang disebut Judul tanda dolar. 57 00:03:07,870 --> 00:03:12,130 >> Kami kemudian akan melewati bahwa dolar tanda Judul variabel untuk fungsi ini, HTML 58 00:03:12,130 --> 00:03:13,240 Karakter Khusus. 59 00:03:13,240 --> 00:03:16,500 Dan hanya dalam kasus yang ada berpotensi karakter berbahaya 60 00:03:16,500 --> 00:03:20,500 sana, seperti ampersands atau lainnya seperti simbol, HTML khusus Chars akan membuat 61 00:03:20,500 --> 00:03:23,140 yakin bahwa mereka diberikan aman di halaman. 62 00:03:23,140 --> 00:03:26,420 Dan dengan menggunakan pertanyaan terbuka braket menandai tanda sama, aku benar-benar 63 00:03:26,420 --> 00:03:30,080 menggantikan di saat itu bagian dari halaman apapun nilai kembali 64 00:03:30,080 --> 00:03:32,050 HTML adalah Chars. 65 00:03:32,050 --> 00:03:36,450 >> Sementara itu, di Lectures.php, saya memiliki nilai baru untuk Judul. 66 00:03:36,450 --> 00:03:38,330 Tidak CS50, tapi Kuliah. 67 00:03:38,330 --> 00:03:41,590 Di Week0.php, saya memiliki nilai Minggu 0. 68 00:03:41,590 --> 00:03:45,560 Dan di Week1.php, saya memiliki nilai Minggu 1. 69 00:03:45,560 --> 00:03:48,790 Jadi pada akhir hari, halaman saya terlihat cukup seperti itu sebelumnya. 70 00:03:48,790 --> 00:03:52,090 Tapi sekarang kami telah mendapat banyak, desain yang jauh lebih baik. 71 00:03:52,090 --> 00:03:54,240