Php html

Років 5 тому ми працювали над одним сайтом, і використовували якийсь open source framework, я вже не пам'ятаю який саме. Так ось, він мені подобався, хоч і був злегка заморочений, я в ньому копирсався, і наткнувся на функцію рендеринга кінцевої веб-сторінки. Вона мені здалася досить милою, я її максимально скоротив, залишивши практично всю функціональність, і наділив у форму класу.

Це потужний рендерер займає всього рядків 40, дуже зручний і швидкий. Я ним користуюся вже 5 років і жодного разу не пошкодував про це. Завжди використовуйте цей рендерер, навіть в демо-проектах, нічого звалювати PHP-код і HTML-розмітку в купу.

Ось його повний код:

Досить включити цей клас в свій проект і ви можете легко і просто рендерить сторінки. Як він працює?

синтаксис:
HTML :: render (template [. Array]);

template - ім'я шаблону веб-сторінки. Використовується без розширення. За замовчуванням розміщення схем у папці html (її можна поміняти викликом HTML :: changeFolder ( 'tpl'), щоб використовувати папку tpl замість html, наприклад). Шаблони в папці повинні мати розширення html. Можна використовувати будь-яку кількість вкладених підпапок, природно.

array - асоціативний масив, всі ключі якого зіставляються з входженнями %% ... %% в шаблоні і з заміною їх значеннями. Можна не використовувати, якщо на сторінці немає таких елементів.

і браузер видасть нам відрендерене сторінку. Якщо в шаблоні html / index.html буде присутній входження %% TITLE %%, воно буде замінено в даному випадку на Ласкаво просимо!

Сторінки складаються з найпростіших шаблонів - HTML-код + вставка змінних і будь-яких PHP-конструкцій.
%% VAR %% - використовуємо підстановку для VAR. VAR - ключ асоціативного масиву, який йде другим параметром у виклику HTML :: render () (див. Вище).
<> - виконання PHP коду і відображення на сторінці його результату. Можна використовувати будь-які доступні при виклику рендерера функції, і супер-глобальні змінні, наприклад <<$_SERVER[‘HTTP_HOST’]>>
Також може бути використано для логічного розгалуження в шаблоні, коли рендерер відобразить особливу частину з шаблону при виконанні певного умови. Приклад дивіться нижче.

Але все слова-слова, але без прикладу не все так зрозуміло, вірно.

У цьому прикладі робиться спроба з'єднатися з БД, і якщо вона не вдалася, виводиться сторінка з шаблону, що знаходиться в файлі html / err / db.html. % .B_ERR %% замінюється значенням $ e-> getMessage (). і воно буде включено в сторінку, тільки якщо% .EBUG_MODE %%, який перетворюється в true / false згідно змінної $ _DEBUGGING. буде дорівнює true.

Цей клас можна застосовувати не тільки для рендеринга цільних (кінцевих) сторінок, але і для обробки будь-яких HTML-шматків. Так, можливо не вистачає виконання циклічних блоків, як в Smarty. наприклад, але для 40-ка рядків PHP-коду, я вважаю, і це зовсім непогано. Будь-яку потрібну функціональність вже додаємо в міру необхідності і по забаганки клієнтів.

Удачі на дачі! І міцного чаю, міцного кохання і міцного імбиру.

Post navigation

Пошук по блогу

недавні пости