Как реализовать хелпер в Symfony 1.4? - PullRequest
17 голосов
/ 27 января 2010

Я хотел бы создать своего собственного помощника, но не могу найти никакой помощи в Google для Symfony 1.4 / Doctrine.

Я думаю, это как-то связано с созданием myClassHelper.class.php в lib/helpers/ или чем-то еще, но я не знаю, что реализовать, или нужно ли переопределять конкретные методы.

Любая помощь будет оценена!

1 Ответ

34 голосов
/ 27 января 2010

Не думаю, что что-то изменилось в отношении помощников в 1.4. Из документации (хотя 1.2):

Вспомогательные функции (обычные функции PHP, возвращающие HTML-код) следует сохранять в файле с именем FooBarHelper.php, где FooBar - имя группы помощников. Сохраните файл в каталоге apps/myapp/lib/helper/ (или в любом каталоге helper/, созданном в одной из папок lib/ вашего проекта), чтобы помощник use_helper('FooBar') мог автоматически найти его для включения.

Таким образом, вы просто помещаете обычные функции в обычный файл (не имеет ничего общего с классами или методами). Функции могут принимать произвольные параметры (вы сами решаете, что им нужно для создания HTML) и должны возвращать HTML.

* 1016 Е.Г. *

MyHelper.php

function hello_word() {
   return '<strong>Hello world!</strong>';
}

и в шаблоне:

<?php use_helper('My') ?>

<!-- somewhere in the template -->
<?php echo hello_world() ?>
...