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

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');
		}
	}
}
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
<?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();
	}
}
Comme vous pouvez le lire, dans indexcontroller, j'instancie une calculatrice. La ligne suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$this->calc = new Calculatrice();
ne passe pas, ma page internet est blanche. Si j'enlève cette instruction, ma page internet s'affiche.

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 :

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;
	}
 
}
Et c'est ce que j'ai fait.

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.