IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend Framework PHP Discussion :

[ZF 2.2.5] - Getadapter null


Sujet :

Zend Framework PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2014
    Messages : 4
    Points : 5
    Points
    5
    Par défaut [ZF 2.2.5] - Getadapter null
    Bonjour la communauté,

    J'ai un souci sur un nouveau projet.
    Dans le module Application, au moment d'exécuter une requête j'ai une erreur. En effectuant un "vardump" sur le $this->getAdapter() j'ai NULL.
    Comme s'il n'arrivait pas à se connecter à la BDD ?
    En sachant que sur un autre projet (autre hébergeur aussi), aucun problème.

    Les scripts :

    global.php et local.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    return array(
        'db' => array(
            'driver'         => 'Pdo',
            'dsn'            => 'pgsql:dbname=nombase;port=5432;host=localhost'
        ),
        'service_manager' => array(
            'factories' => array(
                'Zend\Db\Adapter\Adapter'
                        => 'Zend\Db\Adapter\AdapterServiceFactory',
            ),
        ),
    );
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    return array(
        'db' => array(
            'username' => 'user_base',
            'password' => 'mdpbase',
        ),
    );
    IndexController
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    namespace Application\Controller;
     
    use Zend\View\Renderer\PhpRenderer;
    use Zend\Mvc\Controller\AbstractActionController;
    use Zend\View\Model\ViewModel;
    @session_start();
    class IndexController extends AbstractActionController
    {
        public function indexAction()
        {
    		$list = $this->getApplicationTable()->fetchAll();
            return new ViewModel(array(
                'liste' => $list,
    		));
        }
     
    public function getApplicationTable()
        {
            if (!$this->applicationTable) {
                $sm = $this->getServiceLocator();
                $this->applicationTable = $sm->get('Application\Model\ApplicationTable');
            }
            return $this->applicationTable;
        }
    }
    ApplicationTable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    27
    28
    29
    30
     
    namespace Application\Model;
     
    use Zend\Db\Adapter\Adapter;
    use Zend\Db\ResultSet\HydratingResultSet;
    use Zend\Db\ResultSet\ResultSet;
    use Zend\Db\TableGateway\AbstractTableGateway;
    use Zend\Db\Sql\Select;
    use Zend\Db\Sql\Sql;
    use Zend\Db\Sql\Where;
     
    class ApplicationTable extends AbstractTableGateway
        implements \Zend\Db\Adapter\AdapterAwareInterface
    {
        protected $table = 't_page';
     
        public function setDbAdapter(Adapter $adapter)
        {
            $this->adapter = $adapter;
            $this->resultSetPrototype = new HydratingResultSet();
     
            $this->resultSetPrototype->setObjectPrototype(new Application());
            $this->initialize();
        }
     
        public function fetchAll($query = 0)
        {   
    		var_dump($this->getAdapter());
     
        }
    Module.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    <?php
    /**
     * Zend Framework (http://framework.zend.com/)
     *
     * @link      http://github.com/zendframework/ZendSkeletonApplication for the canonical source repository
     * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
     * @license   http://framework.zend.com/license/new-bsd New BSD License
     */
     
    namespace Application;
     
    use Application\Model\Application;
    use Application\Model\ApplicationTable;
    use Zend\Db\ResultSet\ResultSet;
    use Zend\Db\TableGateway\TableGateway;
    use Zend\Mvc\ModuleRouteListener;
    use Zend\Mvc\MvcEvent;
     
    class Module
    {
        public function onBootstrap(MvcEvent $e)
        {
            $e->getApplication()->getServiceManager()->get('translator');
            $eventManager        = $e->getApplication()->getEventManager();
            $moduleRouteListener = new ModuleRouteListener();
            $moduleRouteListener->attach($eventManager);
        }
     
        public function getConfig()
        {
            return include __DIR__ . '/config/module.config.php';
        }
     
        public function getAutoloaderConfig()
        {
            return array(
                'Zend\Loader\ClassMapAutoloader' => array(
                    __DIR__ . '/autoload_classmap.php',
                ),
                'Zend\Loader\StandardAutoloader' => array(
                    'namespaces' => array(
                        __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
                    ),
                ),
            );
        }
     
    	public function getServiceConfig()
        {
            return array(
                'factories' => array(
                    'Application\Model\ApplicationTable' =>  function($sm) {
                        $tableGateway = $sm->get('ApplicationTableGateway');
                        $table = new ApplicationTable($tableGateway);
                        return $table;
                    },
                    'ApplicationTableGateway' => function ($sm) {
                        $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
                        $resultSetPrototype = new ResultSet();
                        $resultSetPrototype->setArrayObjectPrototype(new Application());
                        return new TableGateway('t_page', $dbAdapter, null, $resultSetPrototype);
                    },
                ),
            );
        }
     
    	public function getApplicationTable()
        {
            if (!$this->applicationTable) {
                $sm = $this->getServiceLocator();
                $this->applicationTable = $sm->get('Application\Model\ApplicationTable');
            }
            return $this->applicationTable;
        }
    }
    Comment puis-je debugger ce getAdapter ?

    Merci par avance,

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2014
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Fatigué étais-je, il me manquait l'initializer dans le getServiceConfig...

    Résolu donc.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. PROBLEME AVEC LES REQUETES IS NULL / NOT EXISTS
    Par sylvaine dans le forum Langage SQL
    Réponses: 5
    Dernier message: 04/06/2004, 13h26
  2. Comment rediriger la sortie vers /dev/null
    Par dclink dans le forum C
    Réponses: 4
    Dernier message: 24/06/2003, 18h23
  3. Tester si un champ est NULL
    Par titititi007 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/06/2003, 10h17
  4. [VB6] [BDD] Recordset et champ égal à Null
    Par Gr|ppen dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 07/03/2003, 10h00
  5. "ALTERER" une col. NULL en NOT NULL - Int
    Par Gandalf24 dans le forum SQL
    Réponses: 2
    Dernier message: 28/12/2002, 00h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo