Se connecter avec
S'enregistrer | Connectez-vous

PHP orienté objet

Dernière réponse : dans Programmation

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: 

Autres pages sur : php oriente objet

Lassé par la pub ? Créez un compte

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

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


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

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

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 :

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


Ca ne marche pas... Normal, c'est pas encore prévu par PHP ;)  .
Lassé par la pub ? Créez un compte