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.