Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
<?php echo htmlcpecialchars($client->name); ?>
вы играете в игру make java from php, вместо фокус держать на реальных задачах.
в портфолио на sf2 пару проектов, ну че молодцы за полгода))
Я просто сказал что symfony и почти все его компоненты, понты для приезжих(молодых разработчиков).
Я предпочитаю реальные задачи решать, если это a + b то так и будет, а не как это делает SF // this->getVariableAPlusVariableBAndMaybeVariableC… о еще неймспейс на полкилометра
вы играете в игру make java from php, вместо фокус держать на реальных задачах.
symfony хорош чтоб поиграться на этом точка.
в портфолио на sf2 пару проектов, ну че молодцы за полгода))
symfony и почти все его компоненты, понты для приезжих(молодых разработчиков)
может когда то поймете что важно быстрее запустить проект и получать прибыль а не неймспесами мерятся
А значит и нет универсальных рецептов.
Симфони2 отличен для расширяемых приложений, для приложений над которыми работает большая команда. Всё можно кастомизировать и больше защиты от говнокодинга.
Впринципе в нынешнем проекте мы от симфони1 получаем сейчас много головной боли, ибо изначальные правила уже не работают.
Но начиная проект и не планируя его делать крупной командой я выберу Rails или Django или даже Grails. Код там пишется быстрее, компонентов больше, пейджер делается одной командой, а не огромным бандлом с зендовскими либами.
Т.е. получается нынешняя ниша для Симфони — это проекты в вебстудиях. Там чаще можно делать новые проекты, нужно использовать старые наработки и пр.
Серьезно. Ты когда-нибудь участвовал в проекте, который никто не планировал потом расширять??? Типа: «Реализуем вот эти 2 фичи и все и никакого развития»?
Глупо говорить о том, что у нее чего-то мало (компонентов) по сравнению с матерым Rails, не добавляя уточнения «пока» ;-)
Я от symfony1 получал уйму головной боли уже на проектах среднего уровня. Как только тебе нужно мало-мальское наследование моделей — ты в аду.
Ну какбы совсем нет: jirafe.com/, www.exercise.com/, opensky.com/. Три стартапа на Symfony2, которые уже пол-года успешнейше живут и развиваются без «новых проектов».
Три стартапа от евангелистов Симфони…
Логично, что они делаются на Симфонях. Было б цинично контрибьютить в фреймворк, а потом его не юзать =)
strip_tags()) перед тем, как сохранить куда-либо.Серьезно, вы не кешируете страницу, запрашиваемую 100 раз в секунду???
<? if (isset($item['key']):?> <?= $item['key'] ?> <? else: ?> default <?endif ?>{$item.key | default:'default'}<?=(isset($item['key'])?$item['key']:'default'?><xsl:choose>
<xsl:when test="key!=''"><xsl:value-of select="key"/></xsl:when>
<xsl:otherwise>default</xsl:otherwise>
</xsl:choose>
[b]жирный текст[/b] чем <b>жирный текст</b><~FormAuth>
<~Input name="username" style="color: red" class="grayname" value="Имя пользователя" />
<~Password name="password" style="color: red" class="size" />
<~Submit value="Вход" />
</~>
class FormAuth extends Form{
function onSubmitOk($values){
//$values = array('username' => ..., 'password' => ...)
}
}
$start_time = microtime(true);
$start_memory = memory_get_usage();
$smarty->assign($data);
$smarty->fetch('demo.tpl');
echo memory_get_usage()-$start_memory;
echo "\n";
echo microtime(true)-$start_time;
$start_time = microtime(true);
$start_memory = memory_get_usage();
$template = $twig->loadTemplate('demo.tpl');
$template->render($data);
echo memory_get_usage()-$start_memory;
echo "\n";
echo microtime(true)-$start_time;
Smarty: 2139904 байт
Twig: 1103960 байтSmarty: 26472 байт
Twig: 100824 байт$start_memory = memory_get_usage();
require('smarty/Smarty.class.php');
$smarty = new Smarty();
$smarty->compile_check = false;
echo memory_get_usage()-$start_memory;$start_memory = memory_get_usage();
require('twig/Autoloader.php');
Twig_Autoloader::register();
$loader = new Twig_Loader_Filesystem('templates');
$twig = new Twig_Environment($loader, array(
'cache' => 'templates_c',
'autoescape' => false,
'auto_reload' => false,
));
echo memory_get_usage()-$start_memory;Smarty: 899872 байт
Twig: 360952 байт echo $this->getAttribute($this->getContext($context, 'item'), "id", array(), "any", false);
echo " ";
echo $this->getAttribute($this->getContext($context, 'item'), "title", array(), "any", false);
echo " ";
echo $this->getAttribute($this->getContext($context, 'item'), "var1", array(), "any", false);
echo " ";
echo $this->getAttribute($this->getContext($context, 'item'), "var2", array(), "any", false);
echo " ";
echo $this->getAttribute($this->getContext($context, 'item'), "var3", array(), "any", false);
echo " ";
...
<?php echo $_smarty_tpl->tpl_vars['item']->value['id'];?>
<?php echo $_smarty_tpl->tpl_vars['item']->value['title'];?>
<?php echo $_smarty_tpl->tpl_vars['item']->value['var1'];?>
<?php echo $_smarty_tpl->tpl_vars['item']->value['var2'];?>
...
Smarty vs. Twig: производительность