Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Libraries > выход из скрипта в шаблоне twig-а


Автор: mstdmstd 19.3.2016, 08:58
Всем привет,
В smarty чтобы выполнить выход из скрипта я писал в определении методов smarty :
Код

$this->registerPlugin("compiler", "return", "smarty_compiler_return");
function smarty_compiler_return($tag_arg, &$smarty)
{
    return "<?php return; ?>";
}


И в темплейте писал:
Код

{return}


Есть ли аналог для twig-а?

Автор: gta4kv 19.3.2016, 16:41
гугль сломался?

http://twig.sensiolabs.org/doc/advanced.html

Автор: mstdmstd 19.3.2016, 17:22
гугль не сломался.
Но просмотрев статью не нашел как сделать то что мне нужно...
Ткните, плиз...

Автор: gta4kv 19.3.2016, 20:37
http://twig.sensiolabs.org/doc/advanced.html#functions

Автор: mstdmstd 20.3.2016, 09:56
Спасиба за ссылку,
Функцию я подключил :
Код

        $function = new Twig_SimpleFunction('make_return', function () {
            echo '<pre>make return</pre>';
            //return 'return; ';  // выводится на экран
            return '<?php return; ?>';   // выводится на экран
        });

Но строка возвращаемая в функции выводится на экран, а не выполняется как php-код. Можно ли выполнить этот код?

Автор: _zorn_ 20.3.2016, 10:11
Может просто разобраться ?
Что за ### вы возвращаете таким образом ?
Цитата(mstdmstd @  20.3.2016,  16:56 Найти цитируемый пост)
return '<?php return; ?>';   // выводится на экран

Даже движок форума не дал ваше ### скопировать smile

Автор: mstdmstd 20.3.2016, 10:36
_zorn_, В самом начале поста я писал, что мне нужно при вызове моей функции происходил выход из скрипта twig-а(если он такое позволяет).
И привел пример из смарти - там возвращается код который выполняется.

Автор: _zorn_ 25.3.2016, 16:22
Цитата(mstdmstd @  20.3.2016,  17:36 Найти цитируемый пост)
 выход из скрипта twig-а

Если вам такое понадобилось то вашу архитектуру приложения можно выкинуть на помойку.
твиг, как и смарти предназначен ДЛЯ ВЫВОДА информации.

Автор: mstdmstd 27.7.2016, 15:18
Цитата(_zorn_ @ 25.3.2016,  16:22)
Цитата(mstdmstd @  20.3.2016,  17:36 Найти цитируемый пост)
 выход из скрипта twig-а

Если вам такое понадобилось то вашу архитектуру приложения можно выкинуть на помойку.
твиг, как и смарти предназначен ДЛЯ ВЫВОДА информации.

Согласен, за одним исключением : В Вузах учили и в учебниках Pascal,C,C++ было описание метки с примером перехода по ошибке на один общий обработчик ошибок.
И примечанием, что это допустимо только в одном этом случае, а во всех остальных случаях это плохо...

В smarty я использовал такой выход успешно и это было единственное место где возникла необходимость вызывать php-код явно.
И я считал это оправданным...

А для twig-а я такого решения не нашел...

Автор: _zorn_ 2.8.2016, 20:31
Цитата(mstdmstd @  27.7.2016,  22:18 Найти цитируемый пост)
Согласен, за одним исключением : В Вузах учили и в учебниках Pascal,C,C++ было описание метки с примером перехода по ошибке на один общий обработчик ошибок.
И примечанием, что это допустимо только в одном этом случае, а во всех остальных случаях это плохо...

В smarty я использовал такой выход успешно и это было единственное место где возникла необходимость вызывать php-код явно.
И я считал это оправданным...


Огорчу, в вузах учили ТОЛЬКО ТОМУ что знают преподаватели.
Давай взрослей и познавай сишку. Как минимум отпадут вопросы по синтаксису половины языков.
Потом (не сразу) надо узнать чем так хорош ООП (я сам этого долгое время не понимал).
Ну а дальше по накатанной. Сам начнешь учить smile

ЗЫ Глупые вопросы про смарти пропадут после ООП smile
ЗЫЫ. Хотя наверное лукавлю. Чем прекрасен ООП ты не поймешь пока не будешь поддерживать СВОЙ проект через некоторое время.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)