public function delete(Voiture $car) { $req = $this->_db->prepare("DELETE FROM image WHERE idImage=:id"); $req->execute(array(":id" => $car->getIdImage())); }
} next($this->_listePersonnes); } return $n; } public function &listePersonnes() { $reference = $this->_listePersonnes; return $reference; } } $D1 = new Description(18, 70); $D2 = new Description(6, 25); $P1 = new Personne('A', 'aa', $D1); $P2 = new Personne('B', 'bb', $D2); $Voiture = new Voiture(); $Voiture->ajouterPersonne($P1)->ajouterPersonne($P2); echo '<h1>On peut verifier si un objet est transversable</h1>'; if ($Voiture instanceof Traversable) { echo '<p>Voirture est transversable</p>'; } if (!$P1 instanceof Traversable) { echo '<p>Personne n\'est pas transversable</p>'; } echo '<h1>Foreach parcour les Personnes dans la voiture</h1>'; foreach ($Voiture as $cle => $Personne) { echo $Personne->nom() . ' age : ' . $Personne->description_age() . '<br />'; } echo '<h1>On peut creer un iterateur pour parcourrir voiture</h1>'; $ItAg = $Voiture->getIterator(); var_dump($ItAg->current()->nom());
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta charset="utf-8" /> <link rel="stylesheet" href="style.css" /> <title>TestVoiture</title> <?php require '../objects/Voiture.class.php'; $voiture = new Voiture(['immatriculation' => 'abc-123-38', 'marque' => 'peugeot', 'type' => 'sport', 'annee' => 1993, 'kilometrage' => '120000', 'date_arrivee' => '2001', 'proprietaire' => 'daho']); echo $voiture->annee(); echo $voiture->immatriculation(); print_r($voiture); $voiture->setAnnee(1900); echo $voiture->annee(); ?> <body> </body> </html>
public function exists(Voiture $voiture) { $q = $this->_db->prepare('SELECT COUNT(*) FROM voiture WHERE immatriculation = :immatriculation'); $q->execute([':immatriculation' => $voiture->immatriculation()]); return (bool) $q->fetchColumn(); }
// 2 variables $marque et $modele // 1 fonction afficherInfos qui affiche les infos // de la voiture $marque1 = 'Renault'; $modele1 = 'Clio'; $marque2 = 'Peugeot'; $modele2 = '208'; function afficherInfos($marque, $modele) { return "Ceci est une voiture {$marque} {$modele}"; } echo afficherInfos($marque1, $modele1) . '<br>'; echo afficherInfos($marque2, $modele2) . '<br>'; // Exemple 2 (avec objet) // Intérêts : // - réutilisable (pas de copier/coller) // - limiter les risques de conflit de noms // - plus besoin des paramètres $marque, $modele // - lisibilité (plus agréable à lire) // dans la fonction afficherInfos // Inconvénients : // - inclure la classe, peut être compliqué avec 400 classes // et des classes qui dépendent les unes des autres // - savoir créer les classes (concepts en plus à apprendre) // - plus long à écrire (pas adapté à un programme d'une // dizaine de ligne) require_once './classes/Prepavenir/Entity/Voiture.php'; $voiture1 = new Voiture('Renault', 'Clio'); echo $voiture1->afficherInfos() . '<br>'; $voiture2 = new Voiture('Peugeot', '208'); echo $voiture2->afficherInfos() . '<br>';
echo $objet->maVariable; //modification de la propriété maVariable de l'objet $objet->maVariable = "toto"; //affichage de la propriété maVariable de l'objet echo $objet->maVariable; // appel de la méthode auRevoir $objet->auRevoir(); // appel de la méthode rien (erreur) // $objet->rien(); //appel de la méthode afficheRien $objet->afficheRien(); $v1 = new Voiture('rouge', 'Lada'); $v1->setPneus('Continental'); $v1->demarrer(); $v1->getPneus(); $v1->setCo2(99); $v1->getCo2(); $v2 = new Voiture('verte', 'Audi'); $v2->setPneus('Michelin'); $v2->getPneus(); $v2->setCo2(99); $v2->getCo2(); $v2->demarrer(); unset($v1); unset($v2); /* classe de logs */ $log = new Log(); $log->ajout('yFéPaBoDansLeNord'); $log->ajout('yFéJaméBoDansLeNord'); $log->ajout('yPèleDansLeNord'); unset($log);
<?php require 'Voiture.php'; require_once 'Model.php'; require_once 'Conf.php'; $marque = $_POST["marque"]; $couleur = $_POST["couleur"]; $immatriculation = $_POST["immatriculation"]; $voitureX = new Voiture($marque, $couleur, $immatriculation); //$tabImmat ; //$tabImmat = array //if ( $voitureX->existe() $voitureX->insertVoiture();
while ($Objet = current($this->_listePersonnes)) { if ($Objet->description_age() >= 18) { $n++; } next($this->_listePersonnes); } return $n; } public function listePersonnes() { $reference = $this->_listePersonnes; return $reference; } } $D1 = new Description(18, 70); $D2 = new Description(6, 25); $P1 = new Personne('A', 'aa', $D1); $P2 = new Personne('B', 'bb', $D2); $Voiture = new Voiture(); $Voiture->ajouterPersonne($P1)->ajouterPersonne($P2); echo '<h1>Foreach parcour les Personnes dans la voiture</h1>'; foreach ($Voiture as $cle => $Personne) { echo $Personne->nom() . ' age : ' . $Personne->description_age() . '<br />'; } echo '<h1>Acces directement a une personne de la voiture par son index</h1>'; $Voiture->rewind(); var_dump($Voiture->current()); var_dump($Voiture->seek(1)); echo '<h1>Le curseur n\'est pas deplace par seek()</h1>'; echo 'key() renvoie : </p>'; var_dump($Voiture->key());
} next($this->_listePersonnes); } return $n; } public function listePersonnes() { $reference = $this->_listePersonnes; return $reference; } } $D1 = new Description(18, 70); $D2 = new Description(6, 25); $P1 = new Personne('A', 'aa', $D1); $P2 = new Personne('B', 'bb', $D2); $Voiture = new Voiture(); $Voiture->ajouterPersonne($P1)->ajouterPersonne($P2); echo '<h1>On peut verifier si un objet est transversable</h1>'; if ($Voiture instanceof Traversable) { echo '<p>Voirture est transversable</p>'; } if (!$P1 instanceof Traversable) { echo '<p>Personne n\'est pas transversable</p>'; } //echo $Voiture->nbr2vehicule(); //var_dump($Voiture); //http://www.sitepoint.com/php-simple-object-iterators/ echo '<h1>Foreach parcour les Personnes dans la voiture</h1>'; foreach ($Voiture as $cle => $Personne) { echo $Personne->nom() . ' age : ' . $Personne->description_age() . '<br />'; }
return 'Je marche vers ' . $direction; } } class Voiture implements MoveInterface { public function move($direction) { return 'Je roule vers ' . $direction; } } class Avion implements MoveInterface, AirInterface { public function move($direction) { return 'Je vol vers ' . $direction; } public function decoller() { return 'Je décolle'; } public function atterrir() { return 'J\'atteris'; } } $elephant = new Elephant(); $voiture = new Voiture(); echo $elephant->move('l\'avant'); echo $voiture->move('le nord'); $avion = new Avion(); echo $avion->decoller();
<?php require_once "Model.php"; require_once "Voiture.php"; require_once "Conf.php"; //require_once "testVoiture.php"; //echo 'test' ; $objet = 0; $rep = 0; $rSQL = "SELECT * FROM Voiture"; // Requête à éffectuée $rep = Model::$pdo->query($rSQL); // ON appelle la fonction query avec la requête en param et on la stock dans $rep $tab_obj = $rep->fetchAll(PDO::FETCH_OBJ); // Renvois un objet type PDO qui est un tableau d'instance de la classe Voiture que l'on stock dans le tabu foreach ($tab_obj as $i => $objet) { echo "Voiture : {$objet->immatriculation} , de couleur {$objet->couleur} et de marque {$objet->marque} <br> "; } echo '<br> post <br>'; print_r(Voiture::getAllVoiture()); echo '<br> post <br>'; print_r(Voiture::getVoitureByImmat('AAAA')); /*echo '<br> post <br>' ; $viper = new Voiture ('Viper','rouge','CCCC'); // Contructeur ( marque , couleur , immat ) print_r( $viper->insertVoiture() ); */ ?>
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title> Mon premier php </title> </head> <body> <?php // On importe 'Voiture.php', comme import en Java require 'Voiture.php'; $voiture1 = new Voiture('Renault', 'Bleu', '256AB34'); $voiture2 = new Voiture('Peugeot', 'Vert', '128AC30'); $voiture3 = new Voiture('BMW', 'Noir', "ABCD34"); $voiture3->addOption('Siège en Cuir'); $voiture3->addOption('Phares Xénon'); //$voiture1->afficher(); // $voiture2->afficher(); // $voiture3->afficher(); ?> </body> </html>