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_Db PHP Discussion :

Mise en place d'une vue [Débutant(e)] [ZF 1.10]


Sujet :

Zend_Db PHP

  1. #1
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 12
    Par défaut Mise en place d'une vue
    Bonjour,

    J'ai utilisé un titre un peu vague car j'aurai surement plusieurs questions. J'ai pas mal de soucis pour prendre mes repaires sur ZF.

    Dans le cas présent, je veux faire quelque chose de vraiment très simple, afficher des données d'une table, c'est tellement simple que je ne vois pas ce qui bloque. J'ai consulté moult tuto et j'ai également les cahiers du programmeur sur Zend.

    index.php, généré via zend tool sauf l'autoload que j'ai mis moi même
    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
    <?php
     
    // Define path to application directory
    defined('APPLICATION_PATH')||define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
     
    // Define application environment
    defined('APPLICATION_ENV')||define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
     
    // Ensure library/ is on include_path
    set_include_path(implode(PATH_SEPARATOR, array(
        realpath(APPLICATION_PATH . '/../library'),
        get_include_path(),
    )));
     
    /**
    * Autoload des inclusions
    **/
    require "Zend/Loader.php";
    Zend_Loader::registerAutoload();
     
    // Create application, bootstrap, and run
    $application = new Zend_Application(APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini');
    $application->bootstrap()
                ->run();
    Mon IndexController
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    class IndexController extends Zend_Controller_Action
    {
        public function indexAction()
        {                                          
            //si je commente les deux lignes suivantes hello s'affiche
            //$test = new Application_Models_Table_Omicrons();   si je dé-commente cette ligne hello ne s'affiche plus
            //$this->view->test = $test->fetchAll();
     
            $this->view->chaine = "hello";
        }
    }
    Le modèle associé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    class Application_Models_Table_Omicrons extends Zend_Db_Table_Abstract
    {
        protected $_name = "omicrons";
    }
    Pour finir mon fichier application.ini
    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
     
    [production]
    phpSettings.date.timezone   = "Europe/Paris"
    phpSettings.display_startup_errors = 0
    phpSettings.display_errors = 0
    includePaths.library = APPLICATION_PATH "/../library"
    bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
    bootstrap.class = "Bootstrap"
    appnamespace = "Application"
    resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
    resources.frontController.params.displayExceptions = 0
    logfile                     = log.txt
     
    ; DATABASE
    database.adapter            = pdo_mysql
    database.params.host        = 127.0.0.1
    database.params.port        = 3306
    database.params.username    = user_omicrons
    database.params.password    = sockmonkey
    database.params.dbname      = db_omicrons
     
    [development : production]
    phpSettings.display_startup_errors = 1
    phpSettings.display_errors = 1
    resources.frontController.params.displayExceptions = 1
    logfile = php://output
    La vue doit m'afficher le hello et des données de ma table omicrons. J'ai l'impression que le controller ne trouve pas le modèle puisque c'est la ligne du new qui fait sauter le hello, j'ai bien tenter de rajouter une inclusion manuellement mais sans succès.

    J'imagine que la solution est toute simple, mais là je tourne en rond. Merci d'avance.

  2. #2
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    J'ai eu a priori exactement le meme problème que j'ai relaté ici

    J'ai trouvé mon problème en passant en environnement "development" afin de voir les exceptions et j'ai vu que mon adapter était pas trouvé

  3. #3
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 12
    Par défaut
    Oui j'avais vu ton post sans trouvé d'info. (edit j'avais un autre pb)

    Par contre j'avance un peu dans mon problème. Déjà j'ai renommé mon modèle en Model_DbTable_Omicrons (anciennement Application_Models_Table_Omicrons).
    Bien entendu j'ai changé en conséquence mon arborescence. Je n'avais pas rigoureusement suivit la synthaxe adéquat.

    Maintenant je me retrouve avec un:
    Exception information:

    Message: No adapter found for Model_DbTable_Omicrons

    Stack trace:

    #0 D:\ZendFramework\library\Zend\Db\Table\Abstract.php(739): Zend_Db_Table_Abstract->_setupDatabaseAdapter()
    #1 D:\ZendFramework\library\Zend\Db\Table\Abstract.php(268): Zend_Db_Table_Abstract->_setup()
    #2 D:\www\omicrons\application\controllers\IndexController.php(9): Zend_Db_Table_Abstract->__construct()
    #3 D:\ZendFramework\library\Zend\Controller\Action.php(513): IndexController->indexAction()
    #4 D:\ZendFramework\library\Zend\Controller\Dispatcher\Standard.php(289): Zend_Controller_Action->dispatch('indexAction')
    #5 D:\ZendFramework\library\Zend\Controller\Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
    #6 D:\ZendFramework\library\Zend\Application\Bootstrap\Bootstrap.php(97): Zend_Controller_Front->dispatch()
    #7 D:\www\omicrons\application\Bootstrap.php(9): Zend_Application_Bootstrap_Bootstrap->run()
    #8 D:\ZendFramework\library\Zend\Application.php(366): Bootstrap->run()
    #9 D:\www\omicrons\public\index.php(25): Zend_Application->run()
    #10 {main}
    Request Parameters:

    array (
    'controller' => 'index',
    'action' => 'index',
    'module' => 'default',
    )
    Je continu à chercher, mais si quelqu'un peu me donner une piste, c'est pas de refus .

    edit:
    Ok, en ayant recoupé avec ce que tu m'a dit j'ai moi aussi changé dan smon Bootstrap le initDb par celui ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    protected function _initDb() {
            $pluginDb = $this->getPluginResource('db');
    	$db = $pluginDb->getDbAdapter();
            Zend_Db_Table::setDefaultAdapter($db);
            return $db;
        }
    Et c'est bon, merci pour l'aide!!!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/04/2006, 11h43
  2. [Apache] Mise en place d'une page de maintenance
    Par divail dans le forum Apache
    Réponses: 5
    Dernier message: 02/02/2006, 09h58
  3. Réponses: 2
    Dernier message: 06/10/2005, 16h10
  4. Mise en place d'une solution Data Guard 9i R2
    Par user_oracle dans le forum Oracle
    Réponses: 4
    Dernier message: 16/02/2005, 10h12
  5. [VB.NET] Mise en place d'une progress bar
    Par Hoegaarden dans le forum Windows Forms
    Réponses: 14
    Dernier message: 19/10/2004, 09h23

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