#php #symfony1 #symfony-1.4
#php #symfony1 #symfony-1.4
Вопрос:
Как мы вызываем функцию php на странице шаблона в symfony 1.4 doctrine. Предположим, я хочу вызвать функцию add() на странице шаблона, где я должен определить функцию add()? Буду ли я делать это на странице действий? Можем ли мы определить эту функцию на странице действий?
Ожидание быстрого ответа
Комментарии:
1. Зачем вам нужна функция в шаблоне? Почему бы вам не запустить функцию в действии и просто не передать результат в шаблон в качестве переменной
2. Мне нужно, чтобы определенная задача выполнялась 5-6 раз на странице шаблона. Как это происходит в цикле. Я создаю модуль расписания, и классы должны быть расположены в виде сетки. Таким образом, функция schedule() должна вызываться для каждой строки отдельно
3. Старайтесь избегать «ожидания быстрого ответа», «пожалуйста, ответьте как можно скорее»; все хотят быстрого ответа, и лучше не проявлять нетерпения 🙂
Ответ №1:
Вы можете использовать помощник. Например:
apps/yourapp/lib/helper/myNewHelper.php
<?php
if (!function_exists("yourfunc"))
{
function yourfunc($variable){
// Your code here
}
return $variable;
}
}
?>
И в themplate, например
apps/yourapp/modules/yourmodule/templates/indexSuccess.php
<?php use_helper('myNew'); ?>
<?php echo yourfunc($data->getSomeData()) ?>
Ответ №2:
Вы не должны выполнять действия внутри шаблона. Для этого вы должны разделить свой код на небольшие components
части. В вашем cicle (в данном случае foreach, возможно, в вашем):
<?php foreach($array => $param): ?>
<?php include_component('module', 'action', array('param' => $param));
<?php endforeach ?>
А затем в вашем components.class.php
вы выполняете свою timetable($param);
функцию, отображая результат в частичном виде.
Комментарии:
1. В равной степени может быть достаточно частичного, если нет бизнес-логики, которую нужно запускать.