Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Smarty преимущества и недостатки

1.9K
23 июня 2007 года
Werky
129 / / 14.01.2006
Вобщем меня интересует мнение людей, подходит его использование для маленьких сайтов или же для порталов, и т. д. Незнаю поднималась ли такая тема, так что если да то можно ссылку.

П.С. Желательно аргументировать свои ответы :).
8
23 июня 2007 года
mfender
3.5K / / 15.06.2005
Подходит для всего. Мог бы привести примеры как маленьких сайтов, так и больших, с посещаемостью по 60000 уникальных в сутки, работающих со smarty.

Из недостатков, только одно для себя заметил - сам smarty написан на php, поэтому довольно много времени уходит ещё и на его интерпретацию.

В остальном, он хорош, удобен, позволяет избавиться от мешанины php с html. При грамотном подходе к кэшированию отдельных блоков, разница во времени отдачи страницы браузеру между подходами "традиционным" и "со смарти" для конечного пользователя совсем становится незаметной.

Вобщем, рекомендую.
337
23 июня 2007 года
shine
719 / / 09.06.2006
Цитата: Werky
Вобщем меня интересует мнение людей, подходит его использование для маленьких сайтов или же для порталов, и т. д. Незнаю поднималась ли такая тема, так что если да то можно ссылку.


Подходит и для маленьких и для больших сайтов. Минус: скорость. Плюс: разделение клиентской и серверной частей кода благодаря чему проект остается структурированным.
Советую использовать.

1.9K
23 июня 2007 года
Werky
129 / / 14.01.2006
Скорость заметна, как мне кажется увеличевается количество кода :). Может литературу подскажете, чтобы доступно и понятно, язык неважен.

И нужно что-нибудь для установки, и т. д.?
15
23 июня 2007 года
shaelf
2.7K / / 04.05.2005
Из литературы - маны, там более чем подробно написано. Из личных ощущений, если используется "взрослое" постороение приложения (MVC или просто хочется отделить логику от вида), то ИМХО это практически единственный. Нет, он конечно не единственный, но давно уже стал "дэ факто" для шаблонизатора. Скорость можно разрулить кэшированием (в зависимости от уровня прложения это либо файловый, либо memcache), а вот удобство, которое предостовляет смарти заменить чем либо сложно.
337
23 июня 2007 года
shine
719 / / 09.06.2006
Цитата: Werky
Может литературу подскажете, чтобы доступно и понятно, язык неважен.

И нужно что-нибудь для установки, и т. д.?


Литература здесь: http://smarty.php.net/docs.php
Для установки нужны только прямые руки :)

8
24 июня 2007 года
mfender
3.5K / / 15.06.2005
Цитата: Werky
И нужно что-нибудь для установки, и т. д.?


Установка заключается в копировании скриптов smarty в нужное место.

1.9K
11 июля 2007 года
Werky
129 / / 14.01.2006
Как лучше поступить, у меня лежит папка со смарти в корне вместе и индексным файлом, но у меня есть подкаталог и использовать путь в таком виде ../path я нехочу, как быть, скопировать туда смарти сделав ещё одну копию или же переместить его туда из корня?
8
11 июля 2007 года
mfender
3.5K / / 15.06.2005
Цитата: Werky
Как лучше поступить, у меня лежит папка со смарти в корне вместе и индексным файлом, но у меня есть подкаталог и использовать путь в таком виде ../path я нехочу, как быть, скопировать туда смарти сделав ещё одну копию или же переместить его туда из корня?


Все общеупотребительные библиотеки (Smarty, Zend, PEAR и прочее) ложится куда-нибудь подальше. На сайте же, в конфигурации, просто пути к ним указываешь и всё.

Представь себе, что у тебя не один, а сто сайтов (например, субдоменны, да и не только - просто разные сайты в разных директориях), и у каждого свой корень, свой движок. Ты будешь в каждую Smarty ложить?

92
11 июля 2007 года
Тень Пса
2.2K / / 19.10.2006
конечно в конфиге прописать путь до Сматрей :)
1.9K
11 июля 2007 года
Werky
129 / / 14.01.2006
И ещё вопрос ламерский и немного не в тему но какие указания пути к файлам безопасны тоесть: ../../path, ../path или насколько я понимаю ниодин из них.
92
11 июля 2007 года
Тень Пса
2.2K / / 19.10.2006
вот например такой

 
Код:
$config = array("Smarty_path" => "/var/www/Smarty/");

// а в файле чтобы проинклюдить
include $config["smarty_path"]."smarty.class.php";
1.9K
11 июля 2007 года
Werky
129 / / 14.01.2006
Цитата: Тень Пса
вот например такой

 
Код:
$config = array("Smarty_path" => "/var/www/Smarty/");

// а в файле чтобы проинклюдить
include $config["smarty_path"]."smarty.class.php";



Я имел в виду в таких функциях как include и require.

92
11 июля 2007 года
Тень Пса
2.2K / / 19.10.2006
да все безопасны. но только вот вопрос, все ли удобны?

перенёс свой движок в другую директорию, а смарти забыл (ну или не стал, так как плодить на каждом поддомене одно и то же, имхо, и как сказано выше, глупость!), а относительный путь остался, ну или с переходами вверх по директориям перемудрил, недописал или написал слишком много. соотвессна он работать не будет. поэтому удобнее будет использовать путь из конфига.

PS: лично я всегда так делаю, указал 1 раз фолдер и всё оке :)
8
11 июля 2007 года
mfender
3.5K / / 15.06.2005
Самое правильное в начале работы скриптов прописать пути к библиотекам в PATH:

 
Код:
define("PATH_SEPARATOR", ":"); // В Win и UNIX пути по разному разделяются
ini_set("include_path", get_include_path().PATH_SEPARATOR."/etc/lib/Smarty");


Вот так, например. И все остальные пути к библиотекам так же. В этом случае, даже при переносе скриптов в другие места, пути нужно будет прописать только в одном месте, а не корячится и переписывать в сотне файлов.
15
12 июля 2007 года
shaelf
2.7K / / 04.05.2005
2mfender PATH_SEPARATOR уже существует и выполняет как раз эту же функцию))))
PS Приходи завтра на Новослабодскую к 19, думаю там будет что послушать)))
8
12 июля 2007 года
mfender
3.5K / / 15.06.2005
Цитата: shaelf
PATH_SEPARATOR уже существует и выполняет как раз эту же функцию


Просвяти. Я знаю, что есть сепаратор, или как в Win он называется - делимитер, но не знал, что есть константа такая в PHP.

15
12 июля 2007 года
shaelf
2.7K / / 04.05.2005
Есть 2 (вернее их сииииииииильно больше)))) константы:
DIRECTORY_SEPARATOR - заменяет слеше в пути на нужные (т.е. "\" или "/")
пример: $path . DIRECTORY_SEPARATOR . $fileName (аналогично $path . "/" . $file, только учитывает особенности ОС)
PATH_SEPARATOR - разделитель директорий (":" или ";", в зависимости от ОС). Реальное применение нашёл только в set_include_path() ))
8
12 июля 2007 года
mfender
3.5K / / 15.06.2005
Надо же! Действительно есть! А я-то, дурак старый, всю жизнь Win от UNIX'а отличал по наличию COMSPEC в $_SERVER именно для установки сего сепаратора)))))) Вот хоть бы раз обозвал бы его PATH_SEPARATOR, как в примере - глядишь мне бы ошибка выползла, что константа уже определена. Но я ж всякий раз по-другому обзывал его )))) А тут, понимаешь, для примера написал - и на тебе! Попал пальцем в... :D
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог