FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » PHP orienté objet
 

PHP orienté objet

Il y a 268 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : PHP orienté objet
 
Plus d'informations

Bonjour tous le monde, mon langage pref et le java. J'ai pour projet personnel de concevoir un site de simulation. J'ai décider de coder celui ci en PHP. Je me suis rendu compte que l'on pouvais coder en PHP Orienté Objet (ps : Vive la programmation objet!!!! :bounce:  ). Mon probleme est le suivant : J'ai crée une classe toute bidon dans un fichier voiture.php :
<?php
class voiture {
        var $nom
        var $immatriculation
 
        function voiture($var1, $var2) {
                $this->nom = $var1;
                $this->immatriculation = $var2;
        }
 
        function getNom() {
                return $this->nom;
        }
 
        function getImmatriculation() {
                return $this->immatriculation;
        }
?>
 
Ensuite, dans un fichier index.php, j'insere ce code suivant :
 
1  <html>
2
3  <head>
4    <title></title>
5  </head>
6
7  <body>
8
9   <?php
10  $v = new voiture("twingo", "dededede" );
11  printf($v->getImmatriculation());
12  printf($v->getNom());
13  ?>
14
15  </body>
16
17  </html>
 
Quand j'execute lance la page, cela me marque :  
Fatal error: Cannot instantiate non-existent class: voiture in c:\siteweb\index.php on line 10
 
Pour palier ce probleme, il suffit de mettre la declaration de la classe voiture juste avant qu'on ne l'utilise dans le code, mais cela ne m'interresse pas. Comment remedier a cela ? Comment acceder a la classe voiture.php  :heink:

Profil : Pointeur
Plus d'informations

au debut de ton fichier index.php, il faut que tu fasses un include de ton fichier voiture.php ;)
 

Code :
  1. <html>
  2. <head>
  3.    <title>test</title>
  4. </head>
  5. <body>
  6.   <?php
  7.   include_once("voiture.php" ); // on inclus le fichier
  8.   $v = new voiture("twingo", "dededede" );
  9.   printf($v->getImmatriculation());
  10.   printf($v->getNom());
  11.   ?>
  12. </body>
  13. </html>


 
je te conseil d'aller voir le site officiel de php, la doc est tres bien faite : www.php.net :)


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

Oky, je te remercie

Plus d'informations

tu pouvais aussi faire le site en JSP si t'aime le Java :)
 
pour PHP on ne peut parler de POO qu'a partir de la v5

Plus d'informations

Je code avec la version 5. Maisje pense que je vais m'orienter vers les JSP, meme si c'est pas tres tres beau au niveau du code. J'ai etudier les servlets, ca doitpas etre tres differents, au lieu d'inserer du html dans du java, on fait l'inverse. Cela dis, j'ai par curiosité vu quelques source, c'est vraiment pas beau

Profil : Pointeur
Plus d'informations

c'est pas vraiment la meme chose non plus [:spamafote]


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

La POO en php c'est bien, le problème c'est que tu ne peux pas utiliser des objets comme attribut d'une autre classe.. Je m'explique :
 

Code :
  1. <?php
  2. class bidon1{
  3.     var $blabla;
  4.     function _construct($ch){
  5.          $this->blabla = $ch;
  6.     }
  7. }
  8. class bidon2{
  9.     var $foo; //Cette variable sera un objet bidon1
  10.     function _construct($obj){
  11.         $this->foo = $obj;
  12.     }
  13.     function getBlaBla(){
  14.         $temp = $this->foo;
  15.         return $temp->blabla;
  16.     }
  17. }
  18. ?>
  19. Test des objets :<br>
  20. <?php
  21. $var1 = new bidon1("OK" );
  22. $var2 = new bidon2($var1);
  23. echo $var2->getBlaBla();
  24. ?>


 
Ca ne marche pas... Normal, c'est pas encore prévu par PHP  ;) .


Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » PHP orienté objet
 

Annonces Google
Publicité