У меня в Zend Framework 2 подключена локализация.
необходимо сделать то ли 4 ф-ции обертки, то ли 1-2 , у которых просто другое имя
, что бы можно было использовать локализацию так:
вместо $this->translate("string");
это : $this->t("string");
надо реализовать (4 хелпера получается?):
Short name for easy invocation: $this->t("string to translate")
Variation for built-in output escaping: $this->te("untrusted string")
Overloaded signature to accomodate plurality: $this->t("singular", "plural", 123)
Built-in variable substitution (ie. sprintf): $this->t("string %i", array(123))
в PHP насколько я знаю перегрузки методов нету, поэтому не знаю как сделать 3 с одинаковым именем, ну я могу в принципе всем 4-м уникальные имена дать.
в ZF2 ничем, кроме локализации я не занимаюсь, поэтому впринципе не знаю что тут как устроенно и как оно работает.
Смог сделать первый рабочий вариант view helperа
namespace Application\View\Helper;
use Zend\I18n\View\Helper\Translate;
class T extends Translate{
public function __invoke($message)
{
return $this->translator->translate($message);
}
}
и подключил в Application\config\module.config.php
'view_helpers' => array(
'invokables' => array(
'breadcrumbs' => 'Application\View\Helper\Breadcrumbs',
't' => 'Application\View\Helper\T'
),
),
Вопросы:
1. правильно ли сделал первый вариант ?
2. Как с другими вариантами из-за их одинаковых имен, но разных задач ?