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
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. 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. 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
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. 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. 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. 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
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. 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. 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. 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. 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