Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/08/2011, 16h26   #1
 
Charly
Inscription : mars 2011
Messages : 11
Détails du profil
Informations personnelles :
Nom : Charly

Informations forums :
Inscription : mars 2011
Messages : 11
Points : -1
Points : -1
Par défaut Instance de classe - Probleme de constructeur

Bonjour, je débute en PHP et rencontre un soucis sans pour autant avoir de message d'erreur.

Plutôt qu'un long discour :

// MA CLASSE :

Code :
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
<?php 
 
class plant {
 
// attributs 
 
public $id;
public $nom;
public $taille;
public $variete;
public $age;
public $buds;
public $buds_poid;
public $croissance;
public $floraison;
public $resist_humidite;
public $resist_maladie;
public $thc;
 
 
//methodes
 
 
public function _construct(string $nom, string $variete, int $croissance, int $floraison, int $res_humide, int $res_malade, int $thc){
 
$this->nom = $nom;
$this->variete = $variete;  
$this->croissance = $croissance;
$this->floraison = $floraison;
$this->resist_humidite = $res_humide;
$this->resist_maladie = $res_malade;
$this->thc = $thc;
 
return $this;
}
// LA PAGE OU J'INSTANCIE CETTE MEME CLASSE :

Code :
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
 
<?php
// AUTOLOAD
 
    function chargerClasse($classname)
    {
        require $classname.'.class.php';
    }
 
    spl_autoload_register('chargerClasse');
 
include "templates\header.htm";
 
echo '<a href="index.php">Retour</a>';
 
 
 
$planto = new plant('poilux', 'Indica', 3 ,3 ,3 ,3 ,3);
 
 
Echo $planto->nom;
Echo $planto->variete;
Echo $planto->thc;
Echo $planto->floraison;
Echo $planto->resist_maladie;
Echo $planto->croissance;
(J'ai un peu tronqué le tout)

echo et print ne renvoient rien et J'obtiens une page vide à l'arrivé.
nikool est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 16h29   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
ton niveau d'erreurs est bien au maximum ? au niveau de la source du rendu HTML ça donne quoi ?

ps : ton autoloader ne sert pas a grand chose
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 16h33   #3
 
Charly
Inscription : mars 2011
Messages : 11
Détails du profil
Informations personnelles :
Nom : Charly

Informations forums :
Inscription : mars 2011
Messages : 11
Points : -1
Points : -1
Citation:
Envoyé par stealth35 Voir le message
ton niveau d'erreurs est bien au maximum ? au niveau de la source du rendu HTML ça donne quoi ?

ps : ton autoloader ne sert pas a grand chose
Je ne sais pas quel niveau d'erreur est parametrer mais je vais y jeter un oeil des que je saurai comment faire, l'autoloader n'a effectivement pas grande importance pour l'instant.

Niveau rendu HTML j'ai mon header "inclus" et mon lien "retour" vers l'index, c'est tout !
nikool est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 16h35   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
Citation:
Envoyé par nikool Voir le message
Je ne sais pas quel niveau d'erreur est parametrer mais je vais y jeter un oeil des que je saurai comment faire
!
vérifie les valeurs de display_errors et error_reporting, dans ton phpinfo
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 16h42   #5
 
Charly
Inscription : mars 2011
Messages : 11
Détails du profil
Informations personnelles :
Nom : Charly

Informations forums :
Inscription : mars 2011
Messages : 11
Points : -1
Points : -1
display_errors : ON , error_reporting: 32767 ,

des conclusions à en tirer ?
nikool est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 16h49   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
Citation:
Envoyé par nikool Voir le message
display_errors : ON , error_reporting: 32767 ,

des conclusions à en tirer ?
pas de probleme niveau affichage des erreurs, regarde dans la source HTML,
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 16h58   #7
 
Charly
Inscription : mars 2011
Messages : 11
Détails du profil
Informations personnelles :
Nom : Charly

Informations forums :
Inscription : mars 2011
Messages : 11
Points : -1
Points : -1
Citation:
Envoyé par stealth35 Voir le message
pas de probleme niveau affichage des erreurs, regarde dans la source HTML,
Je ne suis pas sure de comprendre.

Je doit regarder dans le fichier *.htm que je passe avec 'include' ?

il ne contient qu'une image pour l'instant.

Code :
1
2
3
4
5
6
<html>
 
 
<center><img src=images/head.png></center>
 
</html>
nikool est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 17h01   #8
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
Citation:
Envoyé par nikool Voir le message
echo et print ne renvoient rien et J'obtiens une page vide à l'arrivé.
c'est la source ce cette page qu'il faut regarder mais montre un peux plus de code, la a par affiche un lien ça fait rien d'autre
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 17h02   #9
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
Code :
public function _construct(string $nom, string $variete, int $croissance, int $floraison, int $res_humide, int $res_malade, int $thc)
c'est autorisé cette déclaration ?
__________________
Développeur | Zend Certified Engineer

Étapes Pour mieux se servir du forum:
1. Commencez par lire les cours et tutoriels ;
2. Faites une recherche;
3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

Nix>_Rien n'est plus pratique que la théorie
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 17h03   #10
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
Citation:
Envoyé par Thes32 Voir le message
Code :
public function _construct(string $nom, string $variete, int $croissance, int $floraison, int $res_humide, int $res_malade, int $thc)
c'est autorisé cette déclaration ?
nop, c'est pour ça que ça devrait lui afficher une erreur
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 17h04   #11
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
Citation:
Envoyé par Thes32 Voir le message
Code :
public function _construct(string $nom, string $variete, int $croissance, int $floraison, int $res_humide, int $res_malade, int $thc)
c'est autorisé cette déclaration ?
Non pas de typeHinting sur les types primitifs. De plus le retour de $this est inutile , c'est son boulot au constructeur de renvoyer une instance
grunk est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 17/08/2011, 17h08   #12
 
Charly
Inscription : mars 2011
Messages : 11
Détails du profil
Informations personnelles :
Nom : Charly

Informations forums :
Inscription : mars 2011
Messages : 11
Points : -1
Points : -1
Classe complete :

Code :
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
<?php 
 
class plant {
 
// attributs 
 
public $id;
public $nom;
public $taille;
public $variete;
public $age;
public $buds;
public $buds_poid;
public $croissance;
public $floraison;
public $resist_humidite;
public $resist_maladie;
public $thc;
 
 
//methodes
 
 
public function _construct(string $nom, string $variete, int $croissance, int $floraison, int $res_humide, int $res_malade, int $thc){
 
$this->nom = $nom;
$this->variete = $variete;  
$this->croissance = $croissance;
$this->floraison = $floraison;
$this->resist_humidite = $res_humide;
$this->resist_maladie = $res_malade;
$this->thc = $thc;
 
return $this;
}
 
 
public function croissance($points){
 
 
}
public function floraison(){
 
}
 
public function recolte(){
 
}
}
?>
Index complet :

Code :
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
<?php
// AUTOLOAD
 
    function chargerClasse($classname)
    {
        require $classname.'.class.php';
    }
 
    spl_autoload_register('chargerClasse');
 
 
 
include "templates\header.htm";
 
 
 
echo '<table>';
echo '<TD>';
echo '<a href="detail.php">Voir les pieds</a>';
echo '</TD>';
echo '<TD>';
echo '<a href="boutique.php">Boutique</a>';
echo '</TD>';
echo '<TD>';
echo '<a href="detail.php">Voir les pieds</a>';
echo '</TD>';
echo '<TD>';
echo '<a href="resultat.php">nouvelle plante</a>'; // <-instance de la classe
echo '</TD>';
echo '<TD>';
echo '<a href="detail.php">Voir les pieds</a>';
echo '</TD>';
echo '</table>';
 
?>
resultat.php :

Code :
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
<?php
// AUTOLOAD
 
    function chargerClasse($classname)
    {
        require $classname.'.class.php';
    }
 
    spl_autoload_register('chargerClasse');
 
include "templates\header.htm";
 
echo '<a href="index.php">Retour</a>';
 
 
 
$planto = new plant('poilux', 'Indica', 3 ,3 ,3 ,3 ,3);
 
 
print $planto->nom;
Echo $planto->variete;
Echo $planto->thc;
Echo $planto->floraison;
Echo $planto->resist_maladie;
Echo $planto->croissance;
 
?>
Merci d'avance.
nikool est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 17h13   #13
 
Charly
Inscription : mars 2011
Messages : 11
Détails du profil
Informations personnelles :
Nom : Charly

Informations forums :
Inscription : mars 2011
Messages : 11
Points : -1
Points : -1
J'ai entre temps virer les 'int' et 'string' de la déclaration du constucteur.

IDEM
nikool est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 17h14   #14
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 797
Points : 35 797
Peut-être une consommation trop importante

__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 17/08/2011, 17h15   #15
 
Charly
Inscription : mars 2011
Messages : 11
Détails du profil
Informations personnelles :
Nom : Charly

Informations forums :
Inscription : mars 2011
Messages : 11
Points : -1
Points : -1
Citation:
Envoyé par Bovino Voir le message
Peut-être une consommation trop importante

j'ai hésité à brouillé les pistes ...

la je suis au boulot donc le probème ne viens pas de la , je vous l'assure ;-)
nikool est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 17/08/2011, 17h18   #16
 
Charly
Inscription : mars 2011
Messages : 11
Détails du profil
Informations personnelles :
Nom : Charly

Informations forums :
Inscription : mars 2011
Messages : 11
Points : -1
Points : -1
Un constructeur un peu plus propre :

Code :
1
2
3
4
5
6
7
8
9
10
11
public function _construct( $nom, $variete, $croissance,  $floraison, $res_humide, $res_malade,  $thc){
 
$this->nom = $nom;
$this->variete = $variete;  
$this->croissance = $croissance;
$this->floraison = $floraison;
$this->resist_humidite = $res_humide;
$this->resist_maladie = $res_malade;
$this->thc = $thc;
 
}
nikool est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 17h20   #17
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
__construct et non _construct
julp est déconnecté   Envoyer un message privé Réponse avec citation 30
Vieux 17/08/2011, 17h25   #18
 
Charly
Inscription : mars 2011
Messages : 11
Détails du profil
Informations personnelles :
Nom : Charly

Informations forums :
Inscription : mars 2011
Messages : 11
Points : -1
Points : -1
Citation:
Envoyé par julp Voir le message
__construct et non _construct
^^ 2__ et non 1_ !

je l'ignorais ...
nikool est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 17h25   #19
 
Charly
Inscription : mars 2011
Messages : 11
Détails du profil
Informations personnelles :
Nom : Charly

Informations forums :
Inscription : mars 2011
Messages : 11
Points : -1
Points : -1
ça fonctionne !

un grand merci a tous, i'll be back soon, à n'en pas douter.


Merci.


Code :
1
2
3
4
5
6
7
8
9
10
11
public function __construct( $nom, $variete, $croissance,  $floraison, $res_humide, $res_malade,  $thc){
 
$this->nom = $nom;
$this->variete = $variete;  
$this->croissance = $croissance;
$this->floraison = $floraison;
$this->resist_humidite = $res_humide;
$this->resist_maladie = $res_malade;
$this->thc = $thc;
 
}
nikool est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h59.


 
 
 
 
Partenaires

Hébergement Web