PHP orienté objet

neril@IDN

Nouveau membre
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:
 

KangOl

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

[cpp]<html>
<head>
<title>test</title>
</head>

<body>

<?php
include_once("voiture.php"); // on inclus le fichier
$v = new voiture("twingo", "dededede");
printf($v->getImmatriculation());
printf($v->getNom());
?>
</body>
</html>[/cpp]

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

didiboy

Habitué
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
 

neril@IDN

Nouveau membre
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
 

Blaeyang

Nouveau membre
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 :

[cpp]<?php
class bidon1{
var $blabla;

function _construct($ch){
$this->blabla = $ch;
}
}

class bidon2{
var $foo; //Cette variable sera un objet bidon1

function _construct($obj){
$this->foo = $obj;
}

function getBlaBla(){
$temp = $this->foo;
return $temp->blabla;
}
}
?>
Test des objets :<br>
<?php
$var1 = new bidon1("OK");
$var2 = new bidon2($var1);
echo $var2->getBlaBla();
?>
[/cpp]

Ca ne marche pas... Normal, c'est pas encore prévu par PHP ;) .
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 128
Messages
6 717 845
Membres
1 586 373
Dernier membre
https://forum.tomshardwar
Partager cette page
Haut