Базова установка, smarty

Передайте файли Smarty, які знаходяться в субдіректоріі / libs / дистрибутива. Редагувати ці PHP-файли НЕ СЛІД. Вони повинні використовуватися усіма додатками і змінюватися тільки при оновленні Smarty до нової версії.

У наступних прикладах архів з вихідним кодом Smarty був розпакований в

/usr/local/lib/Smarty-v.e.r/ ​​для машин під * nix

і c: \ webroot \ libs \ Smarty-v.e.r \ для машин під Windows.

Example 2.1. Необхідні файли бібліотеки Smarty

Smarty використовує константу PHP SMARTY_DIR. яка вказує повний шлях до директорії libs / з Smarty. Зазвичай, якщо ваш додаток може знайти файл Smarty.class.php. то немає необхідності встановлювати SMARTY_DIR - Smarty сам у всьому розбереться. Однак, якщо Smarty.class.php не може бути знайдений у вашому include_path або ви не вказували абсолютний шлях до нього в додатку, то ви повинні визначити SMARTY_DIR вручну. SMARTY_DIR повинна включати завершальний слеш.

Ось як слід створювати екземпляр об'єкта Smarty у ваших PHP-скриптах:

Спробуйте виконати вищевказаний код. Якщо Ви отримуєте помилку про те, що Smarty.class.php не знайдений, спробуйте наступні варіанти дій:

Example 2.2. Ручна установка константи SMARTY_DIR

Example 2.3. Передача абсолютного шляху до файлів бібліотеки

Example 2.4. Додавання бібліотеки в шлях в файлі php.ini

Example 2.5. Дописування include_path з PHP-скрипта використовуючи ini_set ()

Тепер, коли всі файли знаходяться на своїх місцях, прийшов час установки директорій Smarty у вашому додатку.

Smarty потрібно чотири директорії, які за умовчанням називаються templates /. templates_c /. configs / і cache /

Кожна з них визначається властивостями класу Smarty: $ template_dir. $ Compile_dir. $ Config_dir і $ cache_dir відповідно. Наполегливо рекомендується використовувати різні набори цих директорій для кожного додатка, що використовує Smarty.

У нашому прикладі ми будемо встановлювати Smarty для деякої гостьової книги. Додаток було вибрано тільки для того, щоб використовувати його ім'я в іменах директорій. Ви можете використовувати ті ж налаштування з будь-яким іншим додатком, просто змінюючи guestbook / на ім'я вашого застосування.

Example 2.6. Ось як виглядає файлова структура

Переконайтеся, що ви знаєте розташування кореневої директорії документів вашого веб-сервера. У наступних прикладах, кореневої директорією документів є /web/www.example.com/guestbook/htdocs/. Доступ до тек Smarty відбувається тільки з бібліотеки Smarty і ніколи не відбувається через веб-браузер. Тому, з метою безпеки рекомендує розташовувати ці директорії за межами кореневої директорії документів сервера, хоча це і не обов'язково.

Вам знадобитися як мінімум один файл всередині кореневої директорії документів - це скрипт, що викликається веб-браузером. Ми назвемо наш скрипт index.php і покладемо його в підтеку всередині кореневої директорії документів / htdocs /.

Smarty знадобляться права на запис (користувачів Windows це не стосується) в директорії $ compile_dir і $ cache_dir (templates_c / і cache /), так що переконаєтеся, що у веб-сервера є ці права.

Зазвичай це користувач "nobody" і група "nobody". Для користувачів OS X, користувач за замовчуванням - це "www" і група - "www". Якщо ви використовуєте Apache, ви можете дізнатися використовувані ім'я користувача і групу з файлу httpd.conf.

Example 2.7. Установка прав доступу до файлів і тек

Примітка

Нам необхідно створити файл index.tpl. котори буде завантажуватися Smarty. Він буде розташований в $ template_dir.

Example 2.8. /web/www.example.com/guestbook/templates/index.tpl

технічне зауваження

Тепер давайте відредагуємо index.php. Ми створимо екземпляр Smarty, привласнимо значення змінної шаблону і відобразимо файл index.tpl.

Example 2.9. /web/www.example.com/docs/guestbook/index.php

Примітка

У нашому прикладі ми встановлюємо абсолютні шляху до всіх тек Smarty. Якщо /web/www.example.com/guestbook/ знаходиться в include_path вашого PHP, то ці налаштування не обов'язкові. Проте, більш ефективним і (з досвіду) менш глюкоопасним є використання абсолютних шляхів. Це додасть впевненість в тому, що Smarty отримує файли з тих директорій, з яких ви хочете.

Тепер перейдіть до файлу index.php за допомогою вашого веб-браузера. Ви повинні побачити напис "Привіт, Катруська! Ласкаво просимо в Smarty!"

Ви закінчили базову установку Smarty!