Скопируйте файлы Smarty, которые находятся в субдиректории /libs/ дистрибутива. Редактировать эти PHP-файлы НЕ СЛЕДУЕТ. Они должны использоваться всеми приложениями и изменяться только при обновлении 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 не найден, попробуйте следующие варианты действий:
Теперь, когда все файлы находятся на своих местах, пришло время установки директорий Smarty в вашем приложении. Smarty требует четыре директории, которые по умолчанию называются 'templates/', 'templates_c/', 'configs/' и 'cache/'. Каждая из них определяется свойствами класса Smarty: $template_dir, $compile_dir, $config_dir и $cache_dir соответственно. Настойчиво рекомендуется использовать разные наборы этих директорий для каждого приложения, использующего Smarty.
Убедитесь, что вы знаете расположение корневой директории для документов вашего веб-сервера. В нашем примере это /web/www.example.com/docs/. Так как доступ к директориям Smarty получает только библиотека Smarty и они никогда не запрашиваются напрямую веб-браузером, вам рекомендуется вынести директории Smarty за пределы корневой директории для документов, чтобы избежать лишнего беспокойства относительно безопасности.
В нашем примере мы будем устанавливать Smarty для некоторой гостевой книги. Приложение было выбрано только для того, чтобы использовать его имя в именах директорий. Вы можете использовать те же настройки с любым другим приложением, просто меняя "guestbook" на имя вашего приложения. Мы же разместим наши директории Smarty тут: web/www.example.com/smarty/guestbook/
Вам понадобится как минимум один файл в корневой директории для документов - это скрипт, к которому обращается веб-браузер. Мы назов╦м наш скрипт 'index.php' и поместим его в поддиректорию /guestbook/ корневой директории для документов.
Техническое замечание: Бывает удобно настроить веб-сервер так, чтобы 'index.php' расценивался как индексный файл дирекотрии по умолчанию, чтобы при запросе страницы http://www.example.com/guestbook/, вызывался скрипт 'index.php' без 'index.php' в конце адресной строки. В веб-сервере Apache вы можете настроить это, добавив "index.php" в конец директивы DirectoryIndex (записи разделяются пробелами), как в примере из httpd.conf
DirectoryIndex index.htm index.html index.php index.php3 default.html index.cgi
Давайте взгляним на текущую файловую структуру:
Пример 2-6. Файловая структура примера
|
Smarty понадобятся права на запись (пользователей Windows это не касается) в $compile_dir и $cache_dir, так что убедитесь, что у веб-сервера есть эти права. Обычно сервер запущен от имени пользователя "nobody" группы "nobody". Для пользователей OS X пользователем по умолчанию является "www" группы "www". Если вы используете Apache, вы можете заглянуть в ваш файл httpd.conf (который обычно расположен в "/usr/local/apache/conf/") чтобы узнать, какой пользователь и группа используются.
Техническое замечание: chmod 770 да╦т достаточно жесткую защиту - разрешает только пользователю "nobody" и группе "nobody" доступ на чтение и запись в эти директории. Если вы хотите открыть доступ на чтение для всех (обычно для собственного удобства при просмотре этих файлов), вы можете использовать значение 775.
Нам необходимо создать файл 'index.tpl', которы будет загружаться Smarty. Он будет расположен в $template_dir.
Техническое замечание: {* Smarty *} - это комментарий шаблона. Он не является обязательным, но его размещение в начале каждого шаблона является хорошим тоном. Это позволяет проще различать файлы независимо от их расширения. К примеру, текстовые редакторы могут узнавать этот файл и включать особенную подсветку синтаксиса.
Теперь давайте отредактируем 'index.php'. Мы создадим экземпляр Smarty, присвоим значение переменной шаблона и отобразим файл 'index.tpl'.
Пример 2-9. Редактироение /web/www.example.com/docs/guestbook/index.php
|
Техническое замечание: В нашем примере мы устанавливаем абсолютные пути ко всем директориям Smarty. Если /web/www.example.com/smarty/guestbook/ находится в include_path вашего PHP, то эти настройки не обязательны. Тем не менее, более эффективным и (из опыта) менее глюкоопасным является использование абсолютных путей. Это придаст уверенность в том, что Smarty получает файлы из тех директорий, из которых вы хотите.
Теперь перейдите к файлу index.php при помощи вашего веб-браузера. Вы должны увидеть надпись "Привет, Кристина! Добро пожаловать в Smarty!"
Вы закончили базовую установку Smarty!
Пред. | Начало | След. |
Установка | Уровень выше | Расширенная установка |
HIVE: All information for read only. Please respect copyright! |