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
Mon 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 <?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();
Le modèle associé
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"; } }
Pour finir mon fichier application.ini
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"; }
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.
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
J'imagine que la solution est toute simple, mais là je tourne en rond. Merci d'avance.
Partager