[ZF 2.2] Probleme translator database
Bonjour,
je suis débutant dans le zend framework, j'aimerai développer un site multilingue qui charge les traductions dans une base de donnée.
Mais j'ai quelques erreurs qui me cause problème.
Voici l'erreur affichée:
Catchable fatal error: Argument 1 passed to Zend\I18n\Translator\Loader\TranslateDataBase::__construct() must be an instance of Zend\Db\Adapter\Adapter, none given, called in C:\wamp\www\Zend_CMS\vendor\zendframework\zendframework\library\Zend\ServiceManager\AbstractPluginManager.php on line 170 and defined in C:\wamp\www\Zend_CMS\vendor\zendframework\zendframework\library\Zend\I18n\Translator\Loader\TranslateDataBase.php on line 15
Mon fichier module.config.php dans Application:
Code:
1 2 3 4 5 6 7 8 9 10
| 'translator' => array(
'locale' => 'fr_FR',
'translation_file_patterns' => array(
array(
'type' => 'Zend\I18n\Translator\Loader\TranslateDataBase',
'base_dir' => __DIR__ . '/../language',
'pattern' => '%s.mo',
),
),
), |
Ma class TranslateDatabase
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| <?php
namespace Zend\I18n\Translator\Loader;
use Zend\Db\Adapter\Adapter;
use Zend\Db\Sql\Sql;
use Zend\I18n\Translator\Loader\RemoteLoaderInterface;
use Zend\I18n\Translator\Plural\Rule as PluralRule;
use Zend\I18n\Translator\TextDomain;
use Zend\Db\TableGateway\AbstractTableGateway;
class TranslateDataBase extends AbstractTableGateway
{
protected $dbAdapter;
public function __construct(Adapter $dbAdapter)
{
$this->dbAdapter = $dbAdapter;
}
public function load($filename, $locale)
{
//recupere les données depuis la db et les renvois
return $textDomain;
}
} |
Ma classe module.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| public function getServiceConfig()
{
return array(
'factories' => array(
'TranslateDataBase' => function($sm) {
$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
return new TranslateDataBase($dbAdapter);
},
),
);
} |
Merci d'avance pour votre aide.