Клас PHP – простий шаблонізатор
Думаю кожен, хто починав програмувати рано чи пізно, приходив до висновку, що необхідно збирати готові скрипти для оптимізації своєї роботи.. Сьогодні я починаю новий розділ у якому хочу публікувати свої знахідки та напрацювання корисних php класів і буду радий якщо ви, мої дорогі читачі, теж допомагатимете у підборі корисних класів.
Хочу щоб сайт став настільною книгою для тих, хто хоче не лише розробляти сайти на системах управління, але й робити свої системи управління. Користь у створенні своєї системи буде величезною і щоб довести це наведу простий приклад. Нещодавно я зіткнувся з тим, що при роботі з клієнтами мені дуже не вистачає систематичності в рішеннях. Кожен крок при роботі з клієнтами повинен був записуватися і так щоб клієнту це було не напружено., я ж розумію, що їм вчити ще й мою програму немає сенсу. Побризкавши по інтернету я знайшов кілька хороших систему роботи з клієнтами CRM але жодна не підходила під мої завдання. Налаштування знайдених систем було громіздким , а робота просто перетворилася б на бюрократію. З іншого боку, маючи набір корисних класів можна було б легко розробити систему управління під себе.
У зв'язку з цим вирішив викласти перший простий клас шаблонизатора, який допоможе розробникам-початківцям розібратися що собою представляють шаблонізатори.
Код 1. Створюємо файл для дзвінка класу index.php.
<?php include 'classes/htmlGenerator.php'; $configs['site_name'] = 'Имя сайта'; $configs['charset'] = 'utf8'; $configs['content'] = 'Design Company'; $generator = new html_generator(); $generator->load_template('pages','main.html'); $generator->mount_vars($configs); echo $generator->buffer; ?>
Код 2. Створимо папку classes поряд з index.php. У папці створіть файл htmlGenerator.php і вставте в нього код.
<?php class html_generator{ public $manual_configs; public $template; public $buffer; function __construct() { } public function load_template($тип, $name) { $це->buffer = file_get_contents('./шаблони/'.$type.' /'.$name); } функція громадськості mount_vars($Арр) { foreach ($arr як $parameter=>$value) { $І++; $pos = strpos($це->buffer, '{".$parameter".}'); if($поз != хибність){ $це->буфер = str_replace('{".$parameter".}', $value, $це->buffer); $це->mount_vars($Арр); }інакшеякщо($i>1000){ перерву; } } } } ?>
Якщо вже створили клас із шаблонізатором, то добре б і файл шаблону створити.
Для початку створимо папки та файли /templates/pages/main.html. Як видно з адреси папка templates має бути в корені сайту, поряд з файлом index.php. В папці templates буде папка pages, яка визначає тип шаблону та нарешті файл main.html це сам шаблон.
У файлі main.html введіть стандартну структуру html сторінки зі спеціальними мітками. Мітки повинні відповідати індексам масиву з першого коду.
Приклад шаблону коду:
<!DOCTYPE HTML ПУБЛІЧНИЙ "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<meta http-equiv="Тип вмісту" зміст="текст/html; charset={Чарсет}">
<НАЗВА>{site_name}</НАЗВА>
</HEAD>
<ТІЛО> {content} </ТІЛО>
</HTML>Хотілося б від вас отримати коментарі про використання класу. Якщо у вас є інші приклади класів буду радий подивитися на них.
Успіхів у розробці та нехай новий розділ “Готові класи php” стане настільною книгою для нашої невеликої спільноти.





Розділ створений задля покрокового вивчення, його і так повно в інтернеті. Новий розділ сайту створений для тих, кому потрібні корисні приклади коду.
А якщо хтось захоче навчитися програмувати, то я вважаю, що краще навчатися з тренером. Результат завжди буде більш ефективним і швидким і найчастіше навчання в групі краще ніж індивідуально, так як можна побачити безліч помилок, які роблять учні із групи.
Я хотів би навчитися програмувати. Зв'яжіться зі мною)
Вітаю я Максим. Адміністратор сайту wp-admin.com.ua. Я думаю, для індивідуального навчання краще обговорити всі голосом, а якщо після обговорення будуть питання, то можна писати їх у коментарях, постараюся на них відповісти. Запитання та відповіді в коментарях будуть корисними і для постійних читачів блогу.
Якщо все ще хочеш навчатися прийшли мені листа з твоїми даними та побажаннями на пошту info@wp-admin.com.ua.
Про те, що має бути в листі, можна почитати тут: Хочу навчитися робити сайти шукаю репетитора