PHP 5 pour les développeurs Java
Mehdi EL KRARI
●

Doctorant à l'université Mohammed V – Agdal
–

●

#Métaheuristiques #TSP #ILS #VNS

Freelancer WEB

elkr...
Classe & Attributs...
<?php
class Etudiant
{
  private $_matricule ;
  private $_nom ;
  private $_prenom ;
  private $_mo...
Méthodes
<?php
class Etudiant
{
// déclaration des attributs
        
  public function mention() 
  {
  }     
  public f...
Accesseurs (Getters)
<?php
class Etudiant
{
// déclaration des attributs    
  public function matricule()
  {
    return ...
Mutateurs (Setters)
<?php
class Etudiant
{
//déclaration des attributs
public function setMatricule($matricule)
{
$this->_...
Constructeurs
<?php
class Etudiant
{
  private $_matricule;
  private $_nom;
  private $_prenom;
  private $_moyenne;

cla...
Instanciation
<?php
$etudiant = new Etudiant() ;

Etudiant etudiant = new Etudiant() ;

$etudiant0 = new Etudiant ;

Etudi...
Auto-chargement de classes (Auto-load)
<?php
function chargerClasse($classe)
{
require $classe . '.class.php'; // On
inclu...
Constantes de classe
<?php
class Etudiant
{
  private $_matricule;
  private $_nom;
  private $_prenom;
  private $_moyenn...
Méthodes statiques
<?php
class Etudiant
{
// déclaration des attributs    

class Etudiant
{
// déclaration des attributs ...
Attributs statiques
<?php
class Etudiant
{
  private $_matricule;
  private $_nom;
  private $_prenom;
  private $_moyenne...
Managers
<?php
class EtudiantManager
{
private $_db; // Instance de PDO.

1/2

}
public function getList()
{
// Retourne l...
Managers(add)
public function add(Etudiant $etud)
{
$q = $this->_db->prepare('INSERT INTO personnages SET nom = :nom, pren...
Managers(delete, get)
public function delete(Etudiant $etud)
{
$this->_db->exec('DELETE FROM personnages WHERE id = '.$etu...
Managers(getList)
public function getList()
{
$etuds = array();
$q = $this->_db->query('SELECT id, nom, prenom, matricule,...
Managers(update)
public function update(Etudiant $etud)
{
$q = $this->_db->prepare('UPDATE personnages SET prenom = :preno...
Prochain SlideShare
Chargement dans…5
×

PHP 5 pour les développeurs Java

1 224 vues

Publié le

Quelques notions de la Programmation Orientée Objet en PHP5 et en Java afin de passer rapidement de l'un vers l'autre

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

Aucun téléchargement
Vues
Nombre de vues
1 224
Sur SlideShare
0
Issues des intégrations
0
Intégrations
50
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

PHP 5 pour les développeurs Java

  1. 1. PHP 5 pour les développeurs Java
  2. 2. Mehdi EL KRARI ● Doctorant à l'université Mohammed V – Agdal – ● #Métaheuristiques #TSP #ILS #VNS Freelancer WEB elkrari 2 mars 2014 PHP 5 pour les développeurs Java 2
  3. 3. Classe & Attributs... <?php class Etudiant {   private $_matricule ;   private $_nom ;   private $_prenom ;   private $_moyenne ; } ?> class Etudiant {   private int matricule ;   private String nom ;   private String prenom ;   private float moyenne ; } La notation PEAR (dans PHP) : [¤]Chaque nom d'élément privé (attributs ou méthodes) doit être précédé d'un underscore (' _ '). [¤]Le nom des classes commences par une majuscule. 2 mars 2014 PHP 5 pour les développeurs Java 3
  4. 4. Méthodes <?php class Etudiant { // déclaration des attributs            public function mention()    {   }        public function estAdmis()    {   } } ?> 2 mars 2014 class Etudiant { // déclaration des attributs            public String mention()    {   }        public boolean estAdmis()    {   }        } PHP 5 pour les développeurs Java 4
  5. 5. Accesseurs (Getters) <?php class Etudiant { // déclaration des attributs       public function matricule()   {     return $this->_matricule;   }        public function nom()   {     return $this->_nom;   }       public function moyenne()   {     return $this->_moyenne;   } } ?> 2 mars 2014 class Etudiant { // déclaration des attributs       public int getMatricule()   {     return this.matricule;   }   public String getNom()   {     return this.nom;   }       public float getMoyenne()   {     return this.moyenne;   } } PHP 5 pour les développeurs Java 5
  6. 6. Mutateurs (Setters) <?php class Etudiant { //déclaration des attributs public function setMatricule($matricule) { $this->_matricule = $matricule; } public function setNom($nom) { $this->_nom = $nom; } public function setMoyenne($moyenne) { $this->_moyenne = $moyenne; } } ?> 2 mars 2014 class Etudiant { //déclaration des attributs public void setMatricule(int matricule) { this.matricule = matricule; } public void setNom(String nom) { $this.nom = nom; } public void setMoyenne(float moyenne) { $this.moyenne = moyenne; } } PHP 5 pour les développeurs Java 6
  7. 7. Constructeurs <?php class Etudiant {   private $_matricule;   private $_nom;   private $_prenom;   private $_moyenne; class Etudiant {   private int matricule;   private String nom;   private String prenom;   private float moyenne;   public function __construct($nom, $prenom)    {     $this->_$nom= $nom;      $this->_$prenom= $prenom;      $this->_moyenne= 10; // Initialisation de la moyenne à 10.   }    } ?> 2 mars 2014   public Etudiant(String nom,String prenom)    {     this.nom= nom;      this.prenom= prenom;      this.moyenne= 10; // Initialisation de la moyenne à 10.   }    } PHP 5 pour les développeurs Java 7
  8. 8. Instanciation <?php $etudiant = new Etudiant() ; Etudiant etudiant = new Etudiant() ; $etudiant0 = new Etudiant ; Etudiant etudiant1 = new Etudiant('NOM', 'Prenom'); $etudiant1 = new Etudiant('NOM', 'Prenom'); ?> Si la classe n'implémente pas de constructeur ou si le constructeur ne requiert aucun argument, les parenthèses placées après le nom de la classe lorsqu'on l'instanciera seront optionnelles. Ainsi, on pourra faire $etudiant = new Etudiant; 2 mars 2014 PHP 5 pour les développeurs Java 8
  9. 9. Auto-chargement de classes (Auto-load) <?php function chargerClasse($classe) { require $classe . '.class.php'; // On inclut la classe correspondante au paramètre passé. } spl_autoload_register('chargerClasse'); // On enregistre la fonction en autoload pour qu'elle soit appelée dès qu'on instanciera une classe non déclarée. L'auto-chargement de classes n'existe pas sur le Kit de développement Java . Néanmoins, les environnements de développement integré (Eclipse,Netbeans,...) signalent l'absence de classes ou packages et proposent de rajouter les « import » manquants si leurs accessibilités le permet. $perso = new Etudiant(); ?> 2 mars 2014 PHP 5 pour les développeurs Java 9
  10. 10. Constantes de classe <?php class Etudiant {   private $_matricule;   private $_nom;   private $_prenom;   private $_moyenne; // Déclarations des constantes en rapport avec la moyenne. const PASSABLE = 10; const ASSEZ_BIEN = 12; const BIEN = 14; } ?> class Etudiant {   private int matricule;   private String nom;   private String prenom;   private float moyenne; // Déclarations des constantes en rapport avec la moyenne. public static final float PASSABLE = 10; public static final float ASSEZ_BIEN = 12; public static final float BIEN = 14; } <?php $etudiant = new Etudiant; $etudiant->setMoyenne(Etudiant::ASSEZ_BIEN); ?> Etudiant etudiant = new Etudiant(); etudiant.setMoyenne(Etudiant.ASSEZ_BIEN); 2 mars 2014 PHP 5 pour les développeurs Java 10
  11. 11. Méthodes statiques <?php class Etudiant { // déclaration des attributs     class Etudiant { // déclaration des attributs     public static function message() { echo 'Bonjour étudiant(e)'; } public static void message() { System.out.println('Bonjour étudiant(e)'); } } ?> } <?php Etudiant::message(); $etudiant = new Etudiant(Etudiant::BIEN); $etudiant->message(); ?> 2 mars 2014 Etudiant.message(); Etudiant etudiant = new Etudiant(Etudiant.BIEN); etudiant.message(); PHP 5 pour les développeurs Java 11
  12. 12. Attributs statiques <?php class Etudiant {   private $_matricule;   private $_nom;   private $_prenom;   private $_moyenne; class Etudiant {   private int matricule;   private String nom;   private String prenom;   private float moyenne; private static $_msg = 'Bonjour étudiant(e)'; private static String msg = 'Bonjour étudiant(e)'; public static function message() { echo self::$_msg; } public static function message() { System.out.print(msg); //System.out.print(Etudiant.msg); } } ?> } 2 mars 2014 PHP 5 pour les développeurs Java 12
  13. 13. Managers <?php class EtudiantManager { private $_db; // Instance de PDO. 1/2 } public function getList() { // Retourne la liste de tous les personnages. } public function update(Etudiant $etud) { // Préparation de la requête d'insertion. // Assignation des valeurs pour le nom, la force, les dégâts, l'expérience et le niveau du personnage. // Exécution de la requête. } public function delete(Etudiant $etud) { } 2 mars 2014 2/2 // Exécute une requête de type SELECT avec une clause WHERE, et retourne un objet Personnage. public function __construct($db) { $this->setDb($db); } public function add(Etudiant $etud) { // Exécute une requête de type DELETE. public function get($id) { // Prépare une requête de type UPDATE. // Assignation des valeurs à la requête. // Exécution de la requête. } public function setDb(PDO $db) { $this->_db = $db; } } ?> PHP 5 pour les développeurs Java 13
  14. 14. Managers(add) public function add(Etudiant $etud) { $q = $this->_db->prepare('INSERT INTO personnages SET nom = :nom, prenom = :prenom, matricule = :matricule, moyenne = :moyenne'); $q->bindValue(':nom', $etud->nom()); $q->bindValue(':prenom', $etud->prenom(), PDO::PARAM_INT); $q->bindValue(':matricule', $etud->matricule(), PDO::PARAM_INT); $q->bindValue(':moyenne', $etud->moyenne(), PDO::PARAM_INT); $q->execute(); } 2 mars 2014 PHP 5 pour les développeurs Java 14
  15. 15. Managers(delete, get) public function delete(Etudiant $etud) { $this->_db->exec('DELETE FROM personnages WHERE id = '.$etud->id()); } public function get($id) { $id = (int) $id; $q = $this->_db->query('SELECT id, nom, prenom, matricule, moyenne FROM personnages WHERE id = '.$id); $donnees = $q->fetch(PDO::FETCH_ASSOC); return new Personnage($donnees); } 2 mars 2014 PHP 5 pour les développeurs Java 15
  16. 16. Managers(getList) public function getList() { $etuds = array(); $q = $this->_db->query('SELECT id, nom, prenom, matricule, moyenne FROM personnages ORDER BY nom'); while ($donnees = $q->fetch(PDO::FETCH_ASSOC)) { $etuds[] = new Personnage($donnees); } return $etuds; } 2 mars 2014 PHP 5 pour les développeurs Java 16
  17. 17. Managers(update) public function update(Etudiant $etud) { $q = $this->_db->prepare('UPDATE personnages SET prenom = :prenom, matricule = :matricule, moyenne = :moyenne WHERE id = :id'); $q->bindValue(':prenom', $etud->prenom(), PDO::PARAM_INT); $q->bindValue(':matricule', $etud->matricule(), PDO::PARAM_INT); $q->bindValue(':moyenne', $etud->moyenne(), PDO::PARAM_INT); $q->bindValue(':id', $etud->id(), PDO::PARAM_INT); $q->execute(); } 2 mars 2014 PHP 5 pour les développeurs Java 17

×