1 00:00:00,000 --> 00:00:00,170 2 00:00:00,170 --> 00:00:03,090 >> СПИКЕР: Давайте улучшить курсы Домашняя страница, позволяя себя 3 00:00:03,090 --> 00:00:06,610 предоставить пользовательские названия для каждого из тех, страниц, так что каждый из них 4 00:00:06,610 --> 00:00:08,780 не, попросту говоря, CS50. 5 00:00:08,780 --> 00:00:12,550 Чтобы сделать это, давайте реализуем пару функции, одна называется Рендер заголовок 6 00:00:12,550 --> 00:00:16,410 и одна называется Рендер Footer, что вместо Требовать Один возьмет 7 00:00:16,410 --> 00:00:19,330 уход за оказание наш верхние и нижние колонтитулы страницы. 8 00:00:19,330 --> 00:00:20,280 Давайте взглянем. 9 00:00:20,280 --> 00:00:24,490 >> Внутри index.php сейчас, обратите внимание, что Я требуя новый файл с именем 10 00:00:24,490 --> 00:00:26,070 Helpers.php. 11 00:00:26,070 --> 00:00:28,910 Это там, что мои две функции будут определены. 12 00:00:28,910 --> 00:00:32,960 Ниже этого, обратите внимание, что я сейчас называть что функция визуализации заголовок. 13 00:00:32,960 --> 00:00:34,830 И я передаю в качестве аргумента. 14 00:00:34,830 --> 00:00:39,040 >> Тип этого аргумента, кажется, массив, который в PHP обозначается 15 00:00:39,040 --> 00:00:40,370 в квадратные скобки. 16 00:00:40,370 --> 00:00:44,210 В частности, этот массив ассоциативный массив, поскольку оно 17 00:00:44,210 --> 00:00:49,620 связывает ключ, как название, с значение, как и CS50, а не полагаться 18 00:00:49,620 --> 00:00:51,570 на одних числовых индексов. 19 00:00:51,570 --> 00:00:53,820 Ниже, что теперь у нас есть мой неупорядоченный список. 20 00:00:53,820 --> 00:00:57,180 Но ниже, что, у нас есть вызов, чтобы сделать Footer, другая функция 21 00:00:57,180 --> 00:00:59,980 который предположительно определено в Helpers.php. 22 00:00:59,980 --> 00:01:01,500 >> Давайте взглянем там сейчас. 23 00:01:01,500 --> 00:01:06,760 В Helpers.php, обратите внимание, что у меня есть, действительно, что функция визуализации Footer 24 00:01:06,760 --> 00:01:11,100 чья цель в жизни, по-видимому, чтобы взять в качестве аргумента массив 25 00:01:11,100 --> 00:01:12,130 называется данных. 26 00:01:12,130 --> 00:01:15,870 Теперь, если пользователь не обеспечивает явное массив, тот факт, что есть 27 00:01:15,870 --> 00:01:20,610 знак равенства следуют пустой квадрат скобки означает, что значение по умолчанию 28 00:01:20,610 --> 00:01:23,410 Данных будет просто пустой массив. 29 00:01:23,410 --> 00:01:27,670 >> Внутри Рендер Footer, обратите внимание, что я вызове функции под названием Экстракт. 30 00:01:27,670 --> 00:01:32,170 Экстракт принимает ассоциативный массив, как Данные в этом случае и для любого 31 00:01:32,170 --> 00:01:37,060 Ключевым в ней, оказывается, что ключ в локальная переменная с тем же именем. 32 00:01:37,060 --> 00:01:41,640 Так что если что ассоциативный массив был ключ называется Foo, экстракт будет гарантировать, что 33 00:01:41,640 --> 00:01:45,680 теперь у нас есть локальная переменная под знак доллара Фу, значением которого является 34 00:01:45,680 --> 00:01:48,140 же, как это было в том, что ассоциативный массив. 35 00:01:48,140 --> 00:01:52,890 >> Наконец, я называю Требовать footer.php, которая как в сторону, выглядит 36 00:01:52,890 --> 00:01:54,900 довольно просто нравится. 37 00:01:54,900 --> 00:01:59,390 Теперь вернемся в Helpers.php, заметить, что мы также Рендер заголовок, чей 38 00:01:59,390 --> 00:02:02,610 Аргумент такой же, массив называется, данные по умолчанию 39 00:02:02,610 --> 00:02:04,380 значение является пустой массив. 40 00:02:04,380 --> 00:02:07,060 Затем мы вызываем Extract снова, как и прежде. 41 00:02:07,060 --> 00:02:12,130 А потом мы Требовать header.php, , содержимое которого в настоящее время это. 42 00:02:12,130 --> 00:02:16,980 >> Внутри header.php, заметить, что мы больше не имеют трудно закодированный титул. 43 00:02:16,980 --> 00:02:19,720 И теперь у нас есть тэг H1, а также. 44 00:02:19,720 --> 00:02:24,030 В частности, значение заголовка будет независимо от значения 45 00:02:24,030 --> 00:02:26,750 локальная переменная называется Название это. 46 00:02:26,750 --> 00:02:31,800 После прохождения его функции PHP называется HTML специальные символы, мы собираемся 47 00:02:31,800 --> 00:02:36,560 для получения этой возвращаемого значения, а затем подключите его к HTML я выводимого 48 00:02:36,560 --> 00:02:39,430 на пути этой функции называется Эхо. 49 00:02:39,430 --> 00:02:43,580 >> Действительно, это сокращенное обозначение для вызов функции, которые могли бы в противном случае 50 00:02:43,580 --> 00:02:44,780 выглядеть следующим образом. 51 00:02:44,780 --> 00:02:49,010 Но это гораздо чище, просто, чтобы написать открывающая скобка знак вопроса равна 52 00:02:49,010 --> 00:02:51,400 подписать, даже не упоминая PHP. 53 00:02:51,400 --> 00:02:56,260 Сейчас я сделать то же внутри что H1 тег, так что в конечном счете, если 54 00:02:56,260 --> 00:03:00,520 Пользователь переходит к моей Визуализация функции заголовка ассоциативный массив, внутри 55 00:03:00,520 --> 00:03:05,310 из которых является ключевым называется Название, что ключ ассоциативный массив станет 56 00:03:05,310 --> 00:03:07,870 локальная переменная называется знак доллара Название. 57 00:03:07,870 --> 00:03:12,130 >> Мы будем затем передать знак доллара Заголовок Переменная этой функции, HTML 58 00:03:12,130 --> 00:03:13,240 Специальные знаков. 59 00:03:13,240 --> 00:03:16,500 И на всякий случай есть какая-либо потенциально опасные символы в 60 00:03:16,500 --> 00:03:20,500 там, как амперсандами или другой такой символы, HTML специальные символы сделает 61 00:03:20,500 --> 00:03:23,140 Убедитесь, что они оказали безопасно на странице. 62 00:03:23,140 --> 00:03:26,420 И, используя открытый кронштейн вопрос пометить знак равенства, я буквально 63 00:03:26,420 --> 00:03:30,080 подставляя в в той части страницы независимо от возвращаемого значения 64 00:03:30,080 --> 00:03:32,050 из HTML знаков является. 65 00:03:32,050 --> 00:03:36,450 >> Между тем, в Lectures.php, я есть новое значение для Title. 66 00:03:36,450 --> 00:03:38,330 Не CS50, но Лекции. 67 00:03:38,330 --> 00:03:41,590 В Week0.php, у меня есть значение Недели 0. 68 00:03:41,590 --> 00:03:45,560 И в Week1.php, у меня есть Значение недели 1. 69 00:03:45,560 --> 00:03:48,790 Так, в конце концов, моя страница выглядит вполне как это было раньше. 70 00:03:48,790 --> 00:03:52,090 Но сейчас мы получили много, намного лучше дизайн. 71 00:03:52,090 --> 00:03:54,240