J'essaie d'utiliser DbTableGateway pour stocker mes informations de session dans une base de données MySQL - mais ma table "sessions" reste vide. Il ne contient jamais de lignes. Voici mon code (plus ou moins copier/coller de here):DbTableGateway n'écrit pas mes informations de session dans la table de base de données
$dbAdapter = new Zend\Db\Adapter\Adapter(array(
'driver' => 'pdo_mysql',
'database' => 'db-name',
'username' => 'username',
'password' => 'password!'
));
$tableGateway = new \Zend\Db\TableGateway\TableGateway('session', $dbAdapter);
$saveHandler = new \Zend\Session\SaveHandler\DbTableGateway($tableGateway, new \Zend\Session\SaveHandler\DbTableGatewayOptions());
$manager = new \Zend\Session\SessionManager();
$manager->setSaveHandler($saveHandler);
$someContainer = new Container('SomeSessionNamespace');
$someContainer->aBitOfData = 'tasty morsel of data';
Et voici une démonstration vidéo de moi en utilisant ce code: http://screencast.com/t/UDDUs6OZOib
Comme vous pouvez le voir dans la vidéo, les informations de session est préservée entre les demandes, mais il n'est pas stocké dans la base de données.
J'ai ajouté des points d'arrêt à chaque fonction dans Zend\Session\SaveHandler\DbTableGateway
, et le seul qui est touché est dans __constructor. Donc, le constructeur est appelé, mais apparemment il ne sert à rien d'autre.
Qu'est-ce qui me manque? J'utilise Zend Framework 2.2.2 sur PHP 5.3.
-Josh
Appréciez les suggestions, et je peux avoir cette route, mais je voudrais vraiment lik e pour comprendre pourquoi 'Zend \ Session \ SaveHandler \ DbTableGateway' ne fonctionne pas car je l'ai configuré. – Josh
Je mets à jour ma réponse ci-dessus. –
J'ai essayé d'ajouter '$ manager-> start()'. Pas de changement. Puis j'ai essayé '$ manager-> start (true)'. Toujours pas de changement. Et je ne passe pas d'options à DbTableGatewayOptions. Je fais la même chose que dans la documentation de ZF, liée à dans ma question. Mais peut-être que la documentation est incomplète. Comment suis-je censé configurer l'objet DbTableGatewayOptions? – Josh