П`ятниця, 26.04.2024, 19:31 | RSS | Приветствую Вас Гість
Главная | Регистрация | Вход
Створення
Просування
Оптимізація
Ми переїхали!!!
Нова адреса сайту http://buildsait.pp.ua/
Главная
Меню сайта
Категории раздела
Підготовка до створення сайта [8]
Добре спроектований проект, буде створити простіше та швидше. Сюди відноситься: вибір тематики сайта, практичні поради для початківців і ін...
Установка програм [9]
Список необхідних програмних інструментів для створення web-проектів (сайтів). Інструкції по установці програм і посилання на дистрибутиви.
Приклад створення web-сайту [12]
Опис практичного прикладу створення конструкції web-сайту. Практичний приклад створення web-сайту.
Хостинг і домен [7]
Поняття хостингу і домену. Опис видів хостингу, їх порівняння і правила вибору оптимального хостингу. Як правильно підібрати ім'я домену...
Оптимізація web-сайту [7]
Оптимізований під пошукові системи web-сайт забезпечує високі позиції, швидку індексацію сторінок і, як результат, більшу кількість відвідувачів.
Розкручення web-сайту [9]
Опис основних видів і способів розкручення web-сайту. Опис різноманітних факторів, які впливають на позицію отриманих сторінок web-сайту при пошуковому запиті.
Заробіток web-майстра [6]
Опис основних видів заробітку web-майстрів, власників сайтів. Опис деяких партнерських програм, спосіб їх ефективного використання.
Joomla, Drupal, Wordpress [3]
Статті про CSM Joomla, Drupal та Wordpress
Joomla [4]
Матеріали пов'язані з використанням Joomla
Wordpress [1]
Матеріали пов'язані з використанням Wordpress
Drupal [1]
Матеріали пов'язані з використанням Drupal
Поиск
Наші спонсори
Тут може бути розміщена Ваша реклама

Главная » Статьи » Установка програм

Установка Smarty
   Smarty - це компілятор шаблонів для PHP. Говорячи більш чітко, він дозволяє добитися відділення прикладної логіки і даних від їх представлення. Це дуже зручно в ситуаціях, коли програміст і верстальник шаблону - різні люди.
   Одна з унікальних можливостей Smarty - компіляція шаблонів. Це означає, що Smarty читає файли шаблонів і створює PHP-код на їх основі. Код створюється один раз і потім тільки виконується. Тому немає необхідності в повільній обробці файл шаблону для кожного запиту.
    Деякі особливості Smarty:
  1. Він дуже швидкий.
  2. Він ефективний, так як обробник PHP робить за нього брудну роботу.
  3. Ніякої зайвої обробки шаблонів, вони компілюються тільки один раз.
  4. Перекомпілюються тільки ті шаблони, які змінилися.
  5. Ви можете легко створювати власні призначені для користувача функції і модифікатори змінних, що робить мову шаблонів надзвичайно розширюємося.
  6. Власні (роздільники) тегів шаблону
  7. Конструкції {if} .. {elseif} .. {else}..{/ if} передаються обробникові PHP, так що синтаксис виразу {if ...} може бути настільки простим або складним, наскільки вам завгодно.
  8. Припустимо необмежене вкладення секцій, умов і т.д.
  9. Існує можливість включення PHP-коду прямо у ваш шаблон, проте зазвичай в цьому немає необхідності (і це не рекомендує), оскільки smarty дуже гнучкий.
  10. Вбудований механізм кешування
  11. Довільні джерела шаблонів.
  12. Користувацькі функції кешування.
  13. Компонентна архітектура.
   Cайт розробника - http://smarty.php.net
   Дистрибутиви Smarty завантажуємо з офіційного сайту

    Вимоги
  • Для встановлення та роботи Smarty необхідний веб-сервер з встановленим PHP версії 4.0.6 або вище.
   Базова установка
   Скопіюйте файли Smarty, які знаходяться в субдіректоріі / libs / дистрибутива. Редагувати ці PHP-файли НЕ ПОТРІБНО. Вони повинні використовуватися усіма додатками і змінюватися тільки при оновленні Smarty до нової версії.
    У наступних прикладах архів з вихідним кодом Smarty був розпакований в:
  • /usr/local/lib/Smarty-v.e.r/   для машин под Unix
  • c:\webroot\libs\Smarty-v.e.r\   для машин под Windows

Приклад 2-1. Необхідні файли бібліотеки Smarty
Smarty-v.e.r/
 libs/
 Smarty.class.php
 Smarty_Compiler.class.php
 Config_File.class.php
 debug.tpl
 internals/*.php (все файлы)
 plugins/*.php (все файлы) 
   Smarty використовує константу PHP SMARTY_DIR, що вказує повний шлях до директорії libs / з Smarty. Зазвичай, якщо ваш додаток може знайти файл Smarty.class.php, то немає необхідності встановлювати SMARTY_DIR - Smarty сам у всьому розбереться.
   Однак, якщо Smarty.class.php не може бути знайдений у вашому include_path або ви не вказували абсолютний шлях до нього в програмі, то ви повинні визначити SMARTY_DIR вручну. SMARTY_DIR повинна включати завершальний слеш.
   Ось як слід створювати екземпляр об'єкта Smarty у ваших PHP-скриптах:

<?php
// Обратите внимание: в слове Smarty буква 'S' должна быть заглавной
require_once( 'Smarty.class.php' );
$smarty  = new  Smarty ();
?>

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

Приклад 2-2. Ручная установка константы SMARTY_DIR

<?php
// стиль *nix (не забывайте о заглавной 'S')
define('SMARTY_DIR''/usr/local/lib/Smarty-v.e.r/libs/');

// стиль windows
define('SMARTY_DIR''c:/webroot/libs/Smarty-v.e.r/libs/');

// пример хака для работы одновременно с *nix и windows
// предполагается, что Smarty находится в директории 'includes/' относительно текущего скрипта

define('SMARTY_DIR'str_replace("\\""/"getcwd()).'/includes/Smarty-v.e.r/libs/');

require_once(
SMARTY_DIR 'Smarty.class.php');
$smarty = new Smarty();
?>


Приклад 2-3. Передача абсолютного пути к файлам библиотеки

<?php
// стиль *nix (не забывайте о заглавной 'S')
require_once('/usr/local/lib/Smarty-v.e.r/libs/Smarty.class.php');

// стиль windows
require_once('c:/webroot/libs/Smarty-v.e.r/libs/Smarty.class.php');

$smarty = new Smarty();
?>


Приклад 2-4. Добавление библиотеки в путь в файле php.ini

;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

; *nix: "/path1:/path2"
include_path = ".:/usr/share/php:/usr/local/lib/Smarty-v.e.r/libs/"

; Windows: "\path1;\path2"
include_path = ".;c:\php\includes;c:\webroot\libs\Smarty-v.e.r\libs\"


Приклад 2-5. Дописывание include_path из PHP-скрипта используя ini_set()

<?php
// *nix
ini_set('include_path'ini_get('include_path').PATH_SEPARATOR.'/usr/local/lib/Smarty-v.e.r/libs/');

// windows
ini_set('include_path'ini_get('include_path').PATH_SEPARATOR.'c:/webroot/lib/Smarty-v.e.r/libs/');
?>



    Тепер, коли всі файли знаходяться на своїх місцях, прийшов час установки директорій Smarty у вашому проекті.
  • Smarty потрібно чотири директорії, які за умовчанням називаються templates /, templates_c /, configs / і cache /
  • Кожна з них визначається властивостями класу Smarty: $ template_dir, $ compile_dir, $ config_dir і $ cache_dir відповідно. Наполегливо рекомендується використовувати різні набори цих директорій для кожного додатки, використовує Smarty.
   У нашому прикладі ми будемо встановлювати Smarty для деякої гостьової книги. Додаток було вибрано тільки для того, щоб використовувати його ім'я в іменах директорій. Ви можете використовувати ті ж установки з будь-яким іншим додатком, просто міняючи guestbook / на ім'я вашого застосування.
Приклад 2-6. Ось як виглядає файлова структура
/usr/local/lib/Smarty-v.e.r/libs/
 Smarty.class.php
 Smarty_Compiler.class.php
 Config_File.class.php
 debug.tpl
 internals/*.php
 plugins/*.php

/web/www.example.com/
 guestbook/
 templates/
 index.tpl
 templates_c/
 configs/
 cache/
 htdocs/
 index.php
   Переконайтеся, що ви знаєте розташування кореневої директорії документів вашого веб-сервера. У наступних прикладах, кореневої директорією документів є / 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.


Приклад 2-7. Встановлення прав доступу до файлів і директорій
chown nobody:nobody /web/www.example.com/smarty/guestbook/templates_c/
chmod 770 /web/www.example.com/smarty/guestbook/templates_c/

chown nobody:nobody /web/www.example.com/smarty/guestbook/cache/
chmod 770 /web/www.example.com/smarty/guestbook/cache/

Примітка: chmod 770 дає досить жорсткий захист - дозволяє тільки користувачеві "nobody" і групі "nobody" доступ на читання і запис в ці директорії. Якщо ви хочете відкрити доступ на читання для всіх (звичайно для власної зручності при перегляді цих файлів), ви можете використовувати значення 775.

  Нам необходимо создать файл index.tpl, которы будет загружаться Smarty. Он будет расположен в $template_dir.

Приклад 2-8. /web/www.example.com/guestbook/templates/index.tpl
{* Smarty *}

Привет, {$name}! Добро пожаловать в Smarty!

Технічне зауваження:(* Smarty *) - це коментар шаблону. Він не є обов'язковим, але його розміщення на початку кожного шаблону є гарним тоном. Це дозволяє простіше розрізняти файли незалежно від їх розширення. Наприклад, текстові редактори можуть дізнаватися цей файл і включати особливу підсвічування синтаксису.

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

Приклад 2-9. /web/www.example.com/docs/guestbook/index.php

<?php

require_once(SMARTY_DIR 'Smarty.class.php');

$smarty = new Smarty();

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

$smarty->assign('name''Катруська');

//** раскомментируйте следующую строку для отображения отладочной консоли
//$smarty->debugging = true;

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

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

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

   Поздоровляю, ви закінчили базову установку Smarty і тепер повноцінно можете створювати свої Web-проекти!

   Детально про підключення й використання шаблонної технології Smarty дивіться в статті Створюємо «файл PHP»
   Крім того, нам буде потрібна документація по роботі з Smarty (основи програмування, синтаксис, функції й т.д.) і , звичайно, на російскій мові.
Категория: Установка програм | Добавил: defaultNick (28.09.2009)
Просмотров: 1924
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Copyright MyCorp © 2024
Безкоштовний хостинг uCoz