СПИКЕР: Давайте улучшить курсы Домашняя страница, позволяя себя предоставить пользовательские названия для каждого из тех, страниц, так что каждый из них не, попросту говоря, CS50. Чтобы сделать это, давайте реализуем пару функции, одна называется Рендер заголовок и одна называется Рендер Footer, что вместо Требовать Один возьмет уход за оказание наш верхние и нижние колонтитулы страницы. Давайте взглянем. Внутри index.php сейчас, обратите внимание, что Я требуя новый файл с именем Helpers.php. Это там, что мои две функции будут определены. Ниже этого, обратите внимание, что я сейчас называть что функция визуализации заголовок. И я передаю в качестве аргумента. Тип этого аргумента, кажется, массив, который в PHP обозначается в квадратные скобки. В частности, этот массив ассоциативный массив, поскольку оно связывает ключ, как название, с значение, как и CS50, а не полагаться на одних числовых индексов. Ниже, что теперь у нас есть мой неупорядоченный список. Но ниже, что, у нас есть вызов, чтобы сделать Footer, другая функция который предположительно определено в Helpers.php. Давайте взглянем там сейчас. В Helpers.php, обратите внимание, что у меня есть, действительно, что функция визуализации Footer чья цель в жизни, по-видимому, чтобы взять в качестве аргумента массив называется данных. Теперь, если пользователь не обеспечивает явное массив, тот факт, что есть знак равенства следуют пустой квадрат скобки означает, что значение по умолчанию Данных будет просто пустой массив. Внутри Рендер Footer, обратите внимание, что я вызове функции под названием Экстракт. Экстракт принимает ассоциативный массив, как Данные в этом случае и для любого Ключевым в ней, оказывается, что ключ в локальная переменная с тем же именем. Так что если что ассоциативный массив был ключ называется Foo, экстракт будет гарантировать, что теперь у нас есть локальная переменная под знак доллара Фу, значением которого является же, как это было в том, что ассоциативный массив. Наконец, я называю Требовать footer.php, которая как в сторону, выглядит довольно просто нравится. Теперь вернемся в Helpers.php, заметить, что мы также Рендер заголовок, чей Аргумент такой же, массив называется, данные по умолчанию значение является пустой массив. Затем мы вызываем Extract снова, как и прежде. А потом мы Требовать header.php, , содержимое которого в настоящее время это. Внутри header.php, заметить, что мы больше не имеют трудно закодированный титул. И теперь у нас есть тэг H1, а также. В частности, значение заголовка будет независимо от значения локальная переменная называется Название это. После прохождения его функции PHP называется HTML специальные символы, мы собираемся для получения этой возвращаемого значения, а затем подключите его к HTML я выводимого на пути этой функции называется Эхо. Действительно, это сокращенное обозначение для вызов функции, которые могли бы в противном случае выглядеть следующим образом. Но это гораздо чище, просто, чтобы написать открывающая скобка знак вопроса равна подписать, даже не упоминая PHP. Сейчас я сделать то же внутри что H1 тег, так что в конечном счете, если Пользователь переходит к моей Визуализация функции заголовка ассоциативный массив, внутри из которых является ключевым называется Название, что ключ ассоциативный массив станет локальная переменная называется знак доллара Название. Мы будем затем передать знак доллара Заголовок Переменная этой функции, HTML Специальные знаков. И на всякий случай есть какая-либо потенциально опасные символы в там, как амперсандами или другой такой символы, HTML специальные символы сделает Убедитесь, что они оказали безопасно на странице. И, используя открытый кронштейн вопрос пометить знак равенства, я буквально подставляя в в той части страницы независимо от возвращаемого значения из HTML знаков является. Между тем, в Lectures.php, я есть новое значение для Title. Не CS50, но Лекции. В Week0.php, у меня есть значение Недели 0. И в Week1.php, у меня есть Значение недели 1. Так, в конце концов, моя страница выглядит вполне как это было раньше. Но сейчас мы получили много, намного лучше дизайн.