|
|
|
Канал Elite: Dangerous: «ED Community Tool (aka EG PILOTS - веб платформа)» |
|
|
AnrDaemon 857 EGP
Рейтинг канала: 17(3131) Репутация: 37 Сообщения: 12292
Зарегистрирован: 17.10.2004 |
|
Чтобы не иметь секса с безопасностью, переносимостью и трансляцией.
Вменяемый шаблонизатор заставляет тебя ограничиваться только безопасными конструкциями, изолирует твой код от его представления и позволяет вертеть представлением как хочешь. Плюс плюшки. Например, Smarty позволяет кешировать отдельные блоки страницы по-разному. Так что, скажем, статья на странице может лежать в кэше хоть неделю, а обрамление - вообще не кешироваться.
P.S.
Если ты считаешь, что библиотеки - блажь, и всё можно налепить прямо в коде - мне заранее жалко того, кто будет поддерживать проект после тебя.
_________________ Люблю свободный полёт... :) |
|
|
Xan Andre 230 EGP
Рейтинг канала: 34(7314) Репутация: 31 Сообщения: 2324 Откуда: Санкт-Петербург Зарегистрирован: 15.12.2003 |
|
AnrDaemon : |
налепить прямо в коде - мне заранее жалко того, кто будет поддерживать проект после тебя.
|
Ну если подробные комментарии там оставить, то и ничего
Тоже приходилось исходники допиливать.
_________________ "Равномерность течения времени во всех головах доказывает, что все мы погружены в один и тот же сон"
- Артур Шопенгауэр |
|
|
AnrDaemon 857 EGP
Рейтинг канала: 17(3131) Репутация: 37 Сообщения: 12292
Зарегистрирован: 17.10.2004 |
|
Я сейчас работаю с одним таким сайтом. 30-40% текста - комментарии. Думаешь, это помогает вытряхивать из него вот такую "PHP сам себе шаблонизацию"?
_________________ Люблю свободный полёт... :) |
|
|
ТехноМаг 360 EGP
Рейтинг канала: 18(3394) Репутация: 93 Сообщения: 2510 Откуда: Кронштадт Зарегистрирован: 09.04.2007 |
|
AnrDaemon : |
Если ты считаешь, что библиотеки - блажь
|
Друже, где я такое говорил? Я лишь говорил, что не вижу смысла заменять пять строк кода 500а, при условии, что 99% функций из этого кода будут мертвым грузом висеть в стеке.
Но про Смарти3 я обещал почитать - вот завтра и займусь. Если увижу, что там можно повыпиливать все что не нужно так, чтобы оно даже не заикалось о подгрузке (из того то я ночью мельком проглядел это как минимум мат модуль и ряд функций), то вай нот.
_________________ (Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."
Последний раз редактировалось: ТехноМаг (21:36 17-10-2016), всего редактировалось 1 раз |
|
|
AnrDaemon 857 EGP
Рейтинг канала: 17(3131) Репутация: 37 Сообщения: 12292
Зарегистрирован: 17.10.2004 |
|
Там не надо ничего "выпиливать". Всё грузится динамически.
Блин, ну ты как маленький. Давай, взрослей уже.
Код: |
composer require smarty/smarty |
и вперёд.
Если хочется совсем шоколаду, можешь взять мой патч https://github.com/smarty-php/smarty/pull/252 - будет ещё чуть шустрее.
_________________ Люблю свободный полёт... :) |
|
|
ТехноМаг 360 EGP
Рейтинг канала: 18(3394) Репутация: 93 Сообщения: 2510 Откуда: Кронштадт Зарегистрирован: 09.04.2007 |
|
AnrDaemon : |
Если хочется совсем шоколаду
|
Цитата: |
AnrDaemon commented on 28 Jun
|
Реклама детектед
Я по моему все уже сказал по этой теме. Твое мнение услышал. Почитаю доки на свежую голову, почитаю статьи на хабре. И после приму решение.
Между прочим, я тоже имел секс, и не один раз, с сайтами, как раз написанные с использованием смарти (правда предыдущей версии). Т.ч. отношение у меня к нему тоже уже сложившееся и не особо положительное.
Сворачиваем дискуссию - уже целая страница срача "ни о чем".
_________________ (Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей." |
|
|
haps 110 EGP
Рейтинг канала: 10(1439) Репутация: -16 Сообщения: 1087
Зарегистрирован: 02.04.2015 |
|
честно говоря, уж лучше велосипед, чем смарти (ну не переношу я эту поделку)
_________________ Кроме чужих неприятностей есть и другие радости в жизни. (c) |
|
|
AnrDaemon 857 EGP
Рейтинг канала: 17(3131) Репутация: 37 Сообщения: 12292
Зарегистрирован: 17.10.2004 |
|
ТехноМаг : |
Реклама детектед
|
Ты посмотри патч, потом пиши про рекламу.
ТехноМаг : |
я тоже имел секс, и не один раз, с сайтами, как раз написанные с использованием смарти (правда предыдущей версии)
|
Про предыдущую версию и я могу много интересного рассказать.
Но, думаю, будет достаточно сказать, что не последним плюсом третьей версии является выпиливание прямых вставок PHP из шаблонов.
Это не значит, что стало невозможно писать лапшекод, но это стало делать значительно сложнее.
haps : |
уж лучше велосипед, чем смарти
|
Аргументируйте, сэр. А то уже второй воинствующий борцун "за чистоту кода".
Когда уже начнём обсирать сам PHP? Ведь это намного интереснее.
_________________ Люблю свободный полёт... :) |
|
|
haps 110 EGP
Рейтинг канала: 10(1439) Репутация: -16 Сообщения: 1087
Зарегистрирован: 02.04.2015 |
|
AnrDaemon : |
haps : |
уж лучше велосипед, чем смарти
|
Аргументируйте, сэр. А то уже второй воинствующий борцун "за чистоту кода".
Когда уже начнём обсирать сам PHP? Ведь это намного интереснее.
|
вообще я принципиально-рассово использую xslt и кеш (если оно нужно) делается на уровне модулей, а не шаблонизатора
_________________ Кроме чужих неприятностей есть и другие радости в жизни. (c) |
|
|
ТехноМаг 360 EGP
Рейтинг канала: 18(3394) Репутация: 93 Сообщения: 2510 Откуда: Кронштадт Зарегистрирован: 09.04.2007 |
|
Ну посмотрел я на смарти. В принципе... хз пока.
По скорости моей версии уступает (0.006-0.008 против 0.0002-4), хотя возможностей конечно больше.
Пока сделал отдельное представление для него, потом посмотрим
Код: |
namespace View {
define('SMARTY_DIR', dirname(__DIR__).'/libs/');
require_once SMARTY_DIR.'Autoloader.php';
class SmartyView extends BaseView {
public function Render($template, $data = NULL) {
$node = $this->getNode();
\Smarty_Autoloader::registerBC(TRUE);
$smarty = new \Smarty();
$smarty->setTemplateDir($node['root'].'/Template');
$smarty->setCompileDir($node['root'].'/.smarty/compiled/');
$smarty->setCacheDir($node['root'].'/.smarty/cache/');
$smarty->enableSecurity();
$smarty->setCaching(\Smarty::CACHING_OFF);
if (is_array($data)) {
foreach ($data as $key => $val) {
$smarty->assign($key, $val);
}
}
$smarty->display($template);
}
}
}
|
_________________ (Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."
Последний раз редактировалось: ТехноМаг (15:08 18-10-2016), всего редактировалось 3 раз(а) |
|
|
AnrDaemon 857 EGP
Рейтинг канала: 17(3131) Репутация: 37 Сообщения: 12292
Зарегистрирован: 17.10.2004 |
|
ТехноМаг : |
\Smarty_Autoloader::registerBC(TRUE);
|
Чо? Удали и не пользуйся.
\Smarty_Autoloader::register(false);
Всегда.
_________________ Люблю свободный полёт... :) |
|
|
ТехноМаг 360 EGP
Рейтинг канала: 18(3394) Репутация: 93 Сообщения: 2510 Откуда: Кронштадт Зарегистрирован: 09.04.2007 |
|
Ну там разница небольшая на самом деле (если в инклуды не сетапить), а так да, register лучше. Только с true, чтобы с моим лодырем не пересекалось лишний раз.
Сделал наконец вменяемый вывод ошибок (заодно потренировался со смарти работать).
_________________ (Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей." |
|
|
AnrDaemon 857 EGP
Рейтинг канала: 17(3131) Репутация: 37 Сообщения: 12292
Зарегистрирован: 17.10.2004 |
|
Там разница есть, на сколько я помню, BC немного больше работает для обеспечения совместимого с двушкой поиска собственных расширений.
А ошибки выводить вообще не надо - их надо логать и отсылать разработчику на почту.
_________________ Люблю свободный полёт... :) |
|
|
ТехноМаг 360 EGP
Рейтинг канала: 18(3394) Репутация: 93 Сообщения: 2510 Откуда: Кронштадт Зарегистрирован: 09.04.2007 |
|
В продакшене если только. В Дев и Дебаг только так (иначе никакого ящика не хватит )
_________________ (Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей." |
|
|
AnrDaemon 857 EGP
Рейтинг канала: 17(3131) Репутация: 37 Сообщения: 12292
Зарегистрирован: 17.10.2004 |
|
Кстати, осторожнее с глобальным error-to-exception обработчиком.
Smarty ставит свой собственный для отлова косяков в шаблонах, могут быть конфликты.
_________________ Люблю свободный полёт... :) |
|
|
ТехноМаг 360 EGP
Рейтинг канала: 18(3394) Репутация: 93 Сообщения: 2510 Откуда: Кронштадт Зарегистрирован: 09.04.2007 |
|
угу, уже заметил и порешил (вроде)
_________________ (Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей." |
|
|
AnrDaemon 857 EGP
Рейтинг канала: 17(3131) Репутация: 37 Сообщения: 12292
Зарегистрирован: 17.10.2004 |
|
А вот так делать не стоит. Замаешься поддерживать свои патчи.
Просто надо быть готовым к тому, что твои красивости могут не сработать в определённый момент. Тем более что ты их лепишь исключительно ради себя, любимого.
Либо, что ещё хуже, могут сломать библиотеку, сработав невовремя.
_________________ Люблю свободный полёт... :)
Последний раз редактировалось: AnrDaemon (19:28 19-10-2016), всего редактировалось 1 раз |
|
|
ТехноМаг 360 EGP
Рейтинг канала: 18(3394) Репутация: 93 Сообщения: 2510 Откуда: Кронштадт Зарегистрирован: 09.04.2007 |
|
Ну ты думаешь, что я лелплю что-то не посмотрев чем это может мне выльется.
Так вот. Реалзиация в smarty сделана выполненным обычным Throw
Т.к. мой обработчик использует set_*_handle, то все необработанные ошибки прилетают ко мне.
Вот два метода, которые используются смарти
Код: |
catch (Exception $e) {
return 0;
}
|
ошибка, с который ничего не делать. Есть там вариант и с оберткой, но catch на то и catch, чтобы ошибку внутри блока обработать и дальше никуда не пустить.
Код: |
throw new SmartyException("Invalid compiled template for '{$_template->template_resource}'");
|
наследник от \Exception вне try catch с одним единственным оверрайдом __toString.
В первом случае ошибка не будет поймана даже мной.
Во втором случае я поймаю через exception_handler SmartyException как Relict\Exception, который тоже практически не отличен от оригинального \Exception. Т.ч. никаких коллизий не возникает.
_________________ (Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."
Последний раз редактировалось: ТехноМаг (21:41 19-10-2016), всего редактировалось 5 раз(а) |
|
|
haps 110 EGP
Рейтинг канала: 10(1439) Репутация: -16 Сообщения: 1087
Зарегистрирован: 02.04.2015 |
|
можно вопрос?
Техномаг. нафига щас твоя платформа нужна?
иннара справится
_________________ Кроме чужих неприятностей есть и другие радости в жизни. (c)
Последний раз редактировалось: haps (23:18 19-10-2016), всего редактировалось 1 раз |
|
|
AnrDaemon 857 EGP
Рейтинг канала: 17(3131) Репутация: 37 Сообщения: 12292
Зарегистрирован: 17.10.2004 |
|
Инара позволяет обеспечивать координацию пилотов? Не знал.
_________________ Люблю свободный полёт... :) |
|
|
|
|
|
Канал Elite: Dangerous: «ED Community Tool (aka EG PILOTS - веб платформа)» |
|