Вирішив трохи підкачати свій навик програмування в PHP. рано чи пізно треба це починати, тим більше що основи PHP я вже знаю давно. В принципі, складнощів ніяких при роботі з PHP я не зустрів, дивно, але мені навіть з першого разу вдалося його встановити під Windows. хоча буквально років 3-4 тому в мене з цим були проблеми :)
Насамперед я вирішив винайти велосипед (свій власний, трьох колісний, з бібікалку і ліхтариком :). ) І зробити більш чи менш зручну можливість відділення PHP коду від дизайну. Власне, про це і піде мова в даному огляді.
Шаблон являє собою звичайний HTML-файл, але крім звичайних html-тегів. він також повинен містити спеціальні відмітки для контенту. Я вирішив зробити це в наступному стилі:
Це приклад простого шаблону
Звичайний HTML. нічого особливого.
Як бачите, це звичайний HTML-код, проте в 9 рядку розташований «тег»
За рахунок цього, в одному шаблоні може перебувати скільки завгодно блоків контенту.
Клас управління шаблонами
Перейдемо до класу, який буде всією цією справою управляти. За задумом, клас повинен приймати такі параметри:
Це мінімум, але, звичайно ж, кількість параметрів можна запросто збільшити.
Крім цього, клас також повинен склеювати отримані дані воєдино і виводити клієнту. Це трохи схоже на MasterPage в ASP .NET. хоча звичайно до MasterPage ще далеко, але мова зараз не про це.
Але, мабуть, перейдемо до справи, а точніше до тіла класу:
У 18 рядку відбувається ініціалізація класу. У 26 рядку функція, яка отримує зазначений файл шаблону, завантажує його, вставляє контент і повертає результат.
Завантаження файлу шаблону відбувається в 28 рядку, далі 39 рядку проводиться пошук в завантаженому шаблоні тегів
Збережіть цей клас в окремому файлі, наприклад templateController.php.
Робота з шаблонами
Тепер спробуємо все це справа застосувати в роботі. Насамперед потрібно створити файл шаблону, назвемо його masterPage.html. він буде містити один блок контенту - MainContent.