>> ДЕВІД Малан: Давайте поліпшити курс'S Головна трохи далі,
узагальнюючи ці функції, RenderHeader і RenderFooter, в,
просто кажучи, зробити, тому що врешті-решт, вони були майже ідентичні, за винятком
їх імена.
Як це зробити?
Ну на вершині цього файлу просто, нижче, де ми вимагаємо helpers.php, давайте називати
Нова функція, винести, чия перша аргумент, скажімо, має бути назва
шаблону, файл, який призначається, бути підключені там.
Тим часом, другий аргумент повинен залишаються асоціативний масив, в цьому
випадок масив, що містить ключ для назва, значення якого тут CS50.
Давайте тепер подивимося на helpers.php.
>> У helpers.php, ми зараз, Звичайно, є лише один
функція, певна, візуалізації.
надати займає тепер два аргументи, які ми будемо називати шаблон і дані,
останній з яких за умовчанням значення як і раніше порожній масив.
Але в цій версії надають, повідомлення що я зараз оголосити локальну змінну
називається шлях і присвоїти йому значення Шаблон, який, наприклад, може
бути цитата, кінець цитати, "заголовок" і додати до цього рядка. PHP.
Іншими словами, давайте припустимо, що на даний момент що якщо наш шаблон називається заголовок,
те, що шаблон буде реалізований у файлі з ім'ям, просто кажучи,
header.php.
>> Тим часом, давайте зробимо Швидка перевірка розсудливість.
Якщо що шлях існує, що ми можемо перевірити шляхом файлі
file_exists, то давайте витягувати асоціативний масив називається дані так, щоб
у нас є один або кілька локальних змінних в області, а потім давайте
вимагати, щоб шлях.
Тим часом, helpers.php виглядає цілком просто подобається, точно так, як раніше.
>> Але якщо ми зараз озирнутися на index.php, помітити, що в нижній частині, що
файл, ми можемо так само називають надати, передавши в якості його
єдиним аргументом підвал.
У цьому випадку нам не потрібно, щоб пройти в асоціативний масив, тому що
Шаблон підвал, нагадаємо, є саме це.
Але тепер у нас є, можливо, навіть чистого дизайну, тому що ми
усунені деякі з наших іншому випадку надлишковий код і об'єднані в
просто одна функція, візуалізації.