PHP en Objet
Exemple PDO
Quel objet?
• un objet est une pièce de logiciel constituée de données et de
procédures qui agissent sur ces données.
• Le...
Un Objets est mystérieu
• L'encapsulation est le procédé qui permet de séparer clairement
l'interface (partie publique) de...
Un objet a la classe
• Les états et les comportements des objets sont définis par des
classes qui sont des modèles pour la...
PHP5
Capturer l’exceptionnel
Try{
//code à essayer
}
Catch(Exception $ex)
{
Echo $ex.getMessage();
}
PHP5, le php objet
<?php
// Déclaration de la classe
class voiture {
public $marque ;
function freiner( $force_de_freinage...
Classe et objet php
<?php
class voiture {
public $vitesse = 0;
function avance( $temps ) {
$distance = $temps * $this->vit...
Constantes de classe
<?php
class TondeuseGazon {
const TRACTEE = 1 ;
const AUTOPORTEE = 2 ;
const POUSSEE = 4 ;
public $ty...
POO PHP
• Constructeur destructeur :__destruct et__construct
public function __construct($marque) {
$this->marque=$marque;...
PDO
accéder aux données avec classe
Connection :
$dns = 'mysql:host=localhost;dbname=formation;port=3606';
$utilisateur = ...
PDO options
Options de connexion :
$options = array(
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
PDO::ATTR_ERRMODE =...
PDO requête
$nombreDeSuppression = $connection->exec("DELETE FROM createurs");
$select = $connection->query("SELECT * FROM...
Préparation
$selectionPrepa = $connection->prepare('SELECT * FROM createurs WHERE YEAR(date_naiss)=?
AND nationalite=?');
...
Nommer les interrogations$selectionPrepa = $connection->prepare(
'SELECT * FROM createurs WHERE nom LIKE :search OR prenom...
Binder
pour aller plus loin
$insert = $connection->prepare('INSERT INTO createurs VALUES(
NULL, :nom, :prenom, :date_naiss...
Prochain SlideShare
Chargement dans…5
×

Orienté objet Php5 et PDO

2 218 vues

Publié le

Publié dans : Technologie
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 218
Sur SlideShare
0
Issues des intégrations
0
Intégrations
10
Actions
Partages
0
Téléchargements
158
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Orienté objet Php5 et PDO

  1. 1. PHP en Objet Exemple PDO
  2. 2. Quel objet? • un objet est une pièce de logiciel constituée de données et de procédures qui agissent sur ces données. • Les attributs (la valeur de ses données) : décrivent un objet et le distinguent des autres. • Le comportement (ses opérations ou méthodes): la description des actions d’un objet • Un objet a un état (l'ensemble des valeurs de ses attributs à un moment donné) et un comportement (l'ensemble des algorithmes décrits dans ses méthodes).
  3. 3. Un Objets est mystérieu • L'encapsulation est le procédé qui permet de séparer clairement l'interface (partie publique) de l'objet de son implémentation (partie privée). • L'idée est de masquer tout ce qui pourrait rendre les autres objets dépendants (principe de faible couplage entre objets). • La contrepartie est qu'un objet doit avoir une forte cohésion interne (il ne doit traiter que ce qui le concerne, mais tout ce qui le concerne). • Un objet est rarement utile isolément. Il faut voir la programmation objet comme une collection d'objets qui coopèrent ensemble. • On dit que les objets s'échangent des messages. En fait, ils se rendent des services entre eux par appel de méthodes.
  4. 4. Un objet a la classe • Les états et les comportements des objets sont définis par des classes qui sont des modèles pour la construction des objets. • La classe est un prototype qui définit un type d'objet. • On dira qu'un objet est une instance de classe (en fait, une variable d'un certain type). • Chaque objet d'une même classe a ses propres valeurs d'attributs mais un comportement identique (les mêmes méthodes). • Un constructeur est une méthode spéciale qui est utilisée pour initialiser un objet nouvellement créé.
  5. 5. PHP5 Capturer l’exceptionnel Try{ //code à essayer } Catch(Exception $ex) { Echo $ex.getMessage(); }
  6. 6. PHP5, le php objet <?php // Déclaration de la classe class voiture { public $marque ; function freiner( $force_de_freinage ) { // Instructions pour faire freiner } } // Instanciation d’un objet $mavoiture = new voiture() ; ?>
  7. 7. Classe et objet php <?php class voiture { public $vitesse = 0; function avance( $temps ) { $distance = $temps * $this->vitesse ; echo "Pendant ces $temps heures on a avancé de $distance km" ; } } $ma_voiture = new voiture() ; $ma_voiture->vitesse = 100 ; // On avance à 100 km/h echo 'Actuellement notre vitesse est de ' ; echo $ma_voiture->vitesse, 'km/h<br>'; $ma_voiture->avance( 2 ) ; // On avance 2h ?>
  8. 8. Constantes de classe <?php class TondeuseGazon { const TRACTEE = 1 ; const AUTOPORTEE = 2 ; const POUSSEE = 4 ; public $type ; } $maTondeuse = new TondeuseGazon() ; $maTondeuse->type = TondeuseGazon::POUSSEE ; echo $maTondeuse->type ; // Affiche le chiffre 4 ?>
  9. 9. POO PHP • Constructeur destructeur :__destruct et__construct public function __construct($marque) { $this->marque=$marque; } • Encapsulation : private , protected, public, set et get • Heritage : extends, final • Methodes et attributs de classe : static • $this, self et parent class MaClasse{ const MACONSTANTE = 'constante'; public maFonction(){ return self::MACONSTANTE; } } class MaClasseEnfant extends MaClasse{ public maNewFonction(){ return parent::MACONSTANTE; } }
  10. 10. PDO accéder aux données avec classe Connection : $dns = 'mysql:host=localhost;dbname=formation;port=3606'; $utilisateur = 'db_rider'; $motDePasse = 'azerty'; $connection = new PDO( $dns, $utilisateur, $motDePasse );
  11. 11. PDO options Options de connexion : $options = array( PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8", PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ); $connection = new PDO( $dns, $utilisateur, $motDePasse, $options );
  12. 12. PDO requête $nombreDeSuppression = $connection->exec("DELETE FROM createurs"); $select = $connection->query("SELECT * FROM createurs"); while( $enregistrement = $select->fetch(PDO::FETCH_OBJ) ) { // Affichage d'un des champs echo '<h1>', $enregistrement->nom, ' ', $enregistrement->prenom, '</h1>'; }
  13. 13. Préparation $selectionPrepa = $connection->prepare('SELECT * FROM createurs WHERE YEAR(date_naiss)=? AND nationalite=?'); try { // On envois la requète $selectionPrepa->execute(array(1925, 'fr')); // Traitement while( $enregistrement = $selectionPrepa->fetch(PDO::FETCH_OBJ)){ echo '<h1>', $enregistrement->nom, ' ', $enregistrement->prenom, '</h1>'; } } catch( Exception $e ){ echo 'Erreur de requète : ', $e->getMessage(); }
  14. 14. Nommer les interrogations$selectionPrepa = $connection->prepare( 'SELECT * FROM createurs WHERE nom LIKE :search OR prenom LIKE :search’); $selectionPrepa->execute(array('search'=>'%gi%')); $insert = $connection->prepare('INSERT INTO createurs VALUES( NULL, :nom, :prenom, :date_naiss, :date_mort, :nationalite, :pseudo)'); try { $success = $insert->execute(array( 'nom'=>'Dus', 'prenom'=>'Jean-Claude', 'date_naiss'=>date('Y-m-d'), 'date_mort'=>NULL, 'nationalite'=>'fr', 'pseudo'=>NULL )); if( $success ) { echo "Enregistrement réussi"; } } catch( Exception $e ){ echo 'Erreur de requète : ', $e->getMessage(); }
  15. 15. Binder pour aller plus loin $insert = $connection->prepare('INSERT INTO createurs VALUES( NULL, :nom, :prenom, :date_naiss, :date_mort, :nationalite, :pseudo)'); try { $insert->bindParam(':nom', $nom, PDO::PARAM_STR, 100); $insert->bindParam(':prenom', $prenom, PDO::PARAM_STR, 100); $insert->bindParam(':date_naiss', date('Y-m-d')); $insert->bindParam(':nationalite, $nationalite, PDO::PARAM_STR, 2); $insert->bindParam(':pseudo', $pseudo, PDO::PARAM_STR); $insert->execute(); if( $success ) { echo "Enregistrement réussi"; } } catch( Exception $e ){ echo 'Erreur de requète : ', $e->getMessage(); }

×