Bonjour,
j'essaie de refaire le tuto présent ici : http://alain-sahli.developpez.com/tu...erer-un-projet à savoir une calculatrice.
Voici mon fichier calculatrice.php
Et voici mon fichier indexcontroller.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 <?php ** * Classe permettant de réaliser des calculs arithmétiques simples * @author Alain Sahli * @name Calculatrice * @package calc * @version 1.0 * */ class Calculatrice { /** * Additionne deux nombres * @param double $nb1 * @param double $nb2 * @return double */ public function addition($nb1, $nb2){ return $nb1 + $nb2; } /** * Soustrait deux nombres * @param double $nb1 * @param double $nb2 * @return double */ public function soustraction($nb1, $nb2){ return $nb1 - $nb2; } /** * Multiplie deux nombres * @param double $nb1 * @param double $nb2 * @return double */ public function multiplication($nb1, $nb2){ return $nb1 * $nb2; } /** * Divise deux nombres * @param double $nb1 * @param double $nb2 * @return double */ public function division($nb1, $nb2){ if($nb2 != 0) { return $nb1 / $nb2; } else { throw new Exception('Division par zéro'); } } }
Comme vous pouvez le lire, dans indexcontroller, j'instancie une calculatrice. La ligne suivante
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 <?php class IndexController extends Zend_Controller_Action { public function init() { /* Initialize action controller here */ } public function indexAction() { // action body } /** * @see Zend_Controller_Action::preDispatch() * */ public function preDispatch() { parent::preDispatch(); $this->calc = new Calculatrice(); } }ne passe pas, ma page internet est blanche. Si j'enlève cette instruction, ma page internet s'affiche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $this->calc = new Calculatrice();
Je pense que le problème se situe au niveau de l'include. indexController ne connait pas calculatrice car pas inclu. Mais pourtant il me semble que je ne dois pas faire d'include ? qu'il suffit juste de mettre une fonction _initAutoload() dans le bootstrap comme cela :
Et c'est ce que j'ai fait.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { protected function _initAutoload() { $moduleLoader = new Zend_Application_Module_Autoloader(array( 'namespace' => '', 'basePath' => APPLICATION_PATH)); return $moduleLoader; } }
Du coup je tourne en rond sur un truc de base, Utiliser une classe à nous dans un controleur.
Merci à qui saura (ou tentera de) m'éclairer.
Partager