Вижу что со мной не согласны, пожалуйста, прокомментируйте вашу точку зрения (меня просто очень эта тема волнует, я всегда стремлюсь к тому чтобы код был максимально простым и понятным)
Во время «эпидемии» гриппа в Киеве видел паренька который ходил с плюшевым мозговым слизнем на голове в то время как вокруг ходили одни ниндзи — все с повязками/распираторами )))
К сожалению не выпало такого удовольствия потому что жил относительно недалеко от универа )
Я во время своей учебы в КПИ хотел поселиться в общагу, но мне в деканате сказали, что ко мне домой пешком можно от универа ходить. Ага, посмотрел бы я, как они 30км пешком пройдут )))
Извините, но это явно перебор: Зачеммне сколько сущностей для выполнения задач шаблонизатора?
Это какой-то извращенный подход к архитектуре.
Twig_Autoloader
Twig_Loader_Filesystem
Twig_Loader_String
Twig_Loader_Array
Twig_Environment
И еще черт знает сколько непоятно зачем созданных класов.
И вот это все для инициализации:
require_once '/path/to/lib/Twig/Autoloader.php';
Twig_Autoloader::register();
$loader = new Twig_Loader_Filesystem('/path/to/templates');
$twig = new Twig_Environment($loader, array(
'cache' => '/path/to/compilation_cache',
));
Мой идеальный шаблонизатор должен предоставлять весь функционал статическими методами одного класса и не плодить лишней херни.
Ну вот как-то так: Tpl::$conf=array(
'cache'=>true,
'cache_dir'=>'/cache/tpl/',
'tpl_dir'=>'/templates/'.$theme,
'comment_open_tag'=>'{*',
'comment_close_tag'=>'*}',
/*и так далее, но в общем шаблонизатор должен работать и без каких-либо доп. опций*/
);
Ну ок, а можно прямо из коробки сделать что-то типа такого:
1) В шаблонизатор передается ссылка на объект $page,
2) В шаблоне встречается {$page.title|deferred}
3) А где-то ниже {action news/view/18}, вызывающее функцию, которая помимо вывода в шаблон, меняет значение глобальной переменной $page, которую мы предварительно передали по ссылке шаблонизатору, в результате чего в инструкции {$page.title|deferred}, которая выше по коду мы получим вывод уже измененной переменной.
?
Я конечно вижу то там постфильтры есть, которыми это можно реализовать и т. п., но вопрос в силе (приведенный мной синтаксис взят из головы, как это будет описано в шаблоне — не играет большого значения).
Я же так понимаю, Вы — разработчик этого шаблонизатора, значит много времени этот вопрос у вас не отнимет :)
Он чем-то лучше? Расскажите. Не могу определиться с шаблонизатором в новом проекте, пока отказался от Smarty, использую свой двадцатистрочный велосипед.
Смысл в использовании POSIX синтаксиса регулярных выражений, который имхо: красивее.
Да тут даже название функции красивее, не только синтаксис )))
А теперь регулярные выражения — еще более нечитаемое уродство, как по мне.
Могли бы пощадить POSIX-совместимые регулярки.
Я люблю PHP, но его разработчики принимают такие странные решения…
Может аудитория уже — например, владельцы блогов с тематикой — веб-разработка, SEO, веб-статистика. Можно предположить, что такие люди очень внимательно следят за своей статистикой посещаемости.
Вернор Виндж, «Конец радуг». Это оттуда Кролик. Мистер Кролик :). Там кстати как раз такие линзы были и не только ) Очень своеобразно описана в этой книге картина ближайшего будущего, развитие информационных технологий, хотя вроде-бы и довольно предсказуемые вещи
Да, я тоже писал что имхо — можно было и не переходить на php5.3.
Ну в принципе, да. Будем надеяться, что когда это будет стабильной версией, большинство хостеров перейдет на php5.3
По поводу web2py — действительно интересно, думал раньше что для питона джанга — вне конкуренции. Web based admin interface с генеративными возможностями это круто я считаю )
Что вы думаете о платной RSS подписке в основе бизнес-модели? Может остит реализовать такой сервис?
Вот бы еще более полную поддержку этого счастья в NetBeans
Кстати, никто не хочет написать плагины под DreamWeaver или emEditor?
Я во время своей учебы в КПИ хотел поселиться в общагу, но мне в деканате сказали, что ко мне домой пешком можно от универа ходить. Ага, посмотрел бы я, как они 30км пешком пройдут )))
Первая фотография в шапочке сделана что под кроватью? )))
Это какой-то извращенный подход к архитектуре.
Twig_Autoloader
Twig_Loader_Filesystem
Twig_Loader_String
Twig_Loader_Array
Twig_Environment
И еще черт знает сколько непоятно зачем созданных класов.
И вот это все для инициализации:
require_once '/path/to/lib/Twig/Autoloader.php';
Twig_Autoloader::register();
$loader = new Twig_Loader_Filesystem('/path/to/templates');
$twig = new Twig_Environment($loader, array(
'cache' => '/path/to/compilation_cache',
));
Мой идеальный шаблонизатор должен предоставлять весь функционал статическими методами одного класса и не плодить лишней херни.
Ну вот как-то так:
Tpl::$conf=array(
'cache'=>true,
'cache_dir'=>'/cache/tpl/',
'tpl_dir'=>'/templates/'.$theme,
'comment_open_tag'=>'{*',
'comment_close_tag'=>'*}',
/*и так далее, но в общем шаблонизатор должен работать и без каких-либо доп. опций*/
);
Tpl::assign($var);
return Tpl::fetch('news/news.htm');
Формат шаблонов должен быть .htm, потому что в первую очередь верстальщику нужна подсветка html синтаксиса в любых условиях, остальное менее важно.
1) В шаблонизатор передается ссылка на объект $page,
2) В шаблоне встречается {$page.title|deferred}
3) А где-то ниже {action news/view/18}, вызывающее функцию, которая помимо вывода в шаблон, меняет значение глобальной переменной $page, которую мы предварительно передали по ссылке шаблонизатору, в результате чего в инструкции {$page.title|deferred}, которая выше по коду мы получим вывод уже измененной переменной.
?
Я конечно вижу то там постфильтры есть, которыми это можно реализовать и т. п., но вопрос в силе (приведенный мной синтаксис взят из головы, как это будет описано в шаблоне — не играет большого значения).
Я же так понимаю, Вы — разработчик этого шаблонизатора, значит много времени этот вопрос у вас не отнимет :)
Да тут даже название функции красивее, не только синтаксис )))
А теперь регулярные выражения — еще более нечитаемое уродство, как по мне.
Могли бы пощадить POSIX-совместимые регулярки.
Я люблю PHP, но его разработчики принимают такие странные решения…
Кстаи, кажется, это не первый раз такое, потому не обратил внимания )
Но думаю что все-таки людей, которым json нравится лучше чем xml — больше )
Ну в принципе, да. Будем надеяться, что когда это будет стабильной версией, большинство хостеров перейдет на php5.3
По поводу web2py — действительно интересно, думал раньше что для питона джанга — вне конкуренции. Web based admin interface с генеративными возможностями это круто я считаю )