Расширенная установка

Эта глава является продолжением базовой установки; пожалуйста, сперва прочитайте е╦.

Немного более гибким способом установки Smarty является наследование класса и инициализация вашего собственного окружения Smarty. Таким образом, вместо того, чтобы постоянно устанавливать пути директорий, присваивать одни и те же переменные и т.д., мы можем вс╦ это сделать в одном месте. Давайте создадим новую директорию "/php/includes/guestbook/",а в ней - новый файл, который назовем setup.php. По условиям нашего примера, "/php/includes" находится в include_path. Убедитесь, чтобы то же самое было и у вас, или используетй абсолютные пути.

Пример 2-10. Редактирование /php/includes/guestbook/setup.php

<?php

// загружаем библиотеку Smarty
require('Smarty.class.php');

// Файл setup.php - это хорошее место для
// подключения библиотечных файлов вашего приложения,
// вы можете сделать это прямо здесь. Пример:
// require('guestbook/guestbook.lib.php');

class Smarty_GuestBook extends Smarty {

   function 
Smarty_GuestBook()
   {

        
// Конструктор класса.
        // Он автоматически вызывается при создании нового экземпляра.

        
$this->Smarty();

        
$this->template_dir '/web/www.example.com/smarty/guestbook/templates/';
        
$this->compile_dir  '/web/www.example.com/smarty/guestbook/templates_c/';
        
$this->config_dir   '/web/www.example.com/smarty/guestbook/configs/';
        
$this->cache_dir    '/web/www.example.com/smarty/guestbook/cache/';

        
$this->caching true;
        
$this->assign('app_name''Guest Book');
   }

}
?>

Теперь давайте изменим index.php, чтобы он использовал setup.php:

Пример 2-11. Редактирование /web/www.example.com/docs/guestbook/index.php

<?php

require('guestbook/setup.php');

$smarty = new Smarty_GuestBook;

$smarty->assign('name','Ned');

$smarty->display('index.tpl');
?>

Теперь вы видите, что создать экземпляр Smarty довольно просто - нужно лишь использовать Smarty_GuestBook, который автоматически инициализирует все настройки для нашего приложения.


HIVE: All information for read only. Please respect copyright!
Hosted by hive йца: йХЕБЯЙЮЪ ЦНПНДЯЙЮЪ АХАКХНРЕЙЮ