// services.php
$di->setShared('translation', function () use ($config) {
$language = 'ru';
// Проверка существования перевода для полученного языка
if (file_exists($config->application->translationDir.$language.".php")) {
require_once ($config->application->translationDir.$language.".php");
} else {
// Переключение на язык по умолчанию
require_once ($config->application->translationDir.$language."/ru.php");
}
// Возвращение объекта работы с переводом
return new Phalcon\Translate\Adapter\NativeArray(array(
"content" => $messages
));
});
// someTask.php
class someTask extends Phalcon\CLI\Task {
public function someAction() {
...
// not work
$subject = $this->getDI()->get('translation')->_('subject');
// not work
$subject = $this->di->getShared('translation')->_('subject');
// not work
$subject = $this->getTranslation->_('subject');
...
}
}
Result: Service 'translation' wasn't found in the dependency injection container
I can not call the service "translation" from DI.
Help me, pls!