Интеллектуальный вывод в константу PHP возможно ли это?

#php #constants #smarty

#php #константы #smarty

Вопрос:

Я получил константу в PHP

Эта константа записана в Mysql

С помощью Smarty я делаю вывод в HTML

Возможно ли выводить результаты Smarty в php, а не в HTML

 <? {$CONSTANTS_RESULT[LOOP]} ?>
  

?

Комментарии:

1. Ответ прост (я думаю), но сначала вернитесь назад и примите некоторые ответы на свои вопросы.

Ответ №1:

Для доступа к константам PHP в Smarty вы можете использовать, {$smarty.const.MY_CONSTANT} который задокументирован здесь.

Комментарии:

1. Вы не понимаете. Я хочу, чтобы результаты из mysql были threat в виде констант. Простым словом. Я хочу, чтобы smarty выдавал результаты не в HTML, а в PHP, чтобы PHP мог использовать результаты в качестве констант.

2. Вы бы отправили запрос в mysql для извлечения информации, затем использовали define(), чтобы сделать ее константой. Smarty действительно предназначен только для вывода в html, а не для связи с базой данных. Определите документацию: php.net/manual/en/function.define.php

3. Значит, я не могу отправить вывод Smarty в PHP?

Ответ №2:

или:

 $smarty->registerFilter('pre',array($this,'preFilterConstants'));

// '#' Const in Smarty...
public function preFilterConstants($strInput, $objSmarty) {
  return preg_replace('|(<!--{[^}] )#([A-Za-z0-9_] )(. ?}-->)|si','$1$smarty.const.$2$3',$strInput);
}
  

и делать:

 <? <!--{#MY_CONSTANT}--> ?>
  

если вы хотите использовать другой разделитель, просто отредактируйте шаблон…