Dans le dernier billet, je vous faisait un petit briefing sur les design pattern en php avec le singleton. Nous allons voir un nouveau design pattern : L’Itérateur.
Cet patron de conception est très pratique mais possède quelque méthode obligatoire afin de fonctionner au maximum de sa capacité. L’itérateur permet de parcourir une collection (un ensemble d’objet). L’itérateur est un pointeur qui permet de se déplacer dans une collection sans tenir compte du type de la collection.
Dans ce billet, nous allons voir comment utiliser ce design pattern avec les requête sur une base de données mySQL.
Lire le reste de cet article »
Dans la programmation orienté objet, plusieurs problèmes récurrents sont posés. Le patron de conception (ou design pattern en anglais) sont la pour résoudre ces problèmes.
Le singleton est un design pattern dont le but est de restreindre l’instanciation d’une classe à un seul objet.
Par exemple, nous avons une classe User et nous souhaitons n’avoir qu’un seul utilisateur, donc qu’il seul instance (création) de la classe soit un seul objet (résultat de l’instanciation d’une classe).
La structure est la suivant en php :
class User{
// attribut instance en static (attribut de classe et non d'instance)
public static $_instance;
private function __construct(){
}
// Convention de nommage de la méthode getInstance
public static function getInstance(){
// on vérifie que la propriété static instance n'a jamais été utilisé
if(self::$_instance === null){
// si c'est vrai, on creer une nouvelle instance de la classe
self::$_instance = new self();
}
// on retourne l'instance en cours
return self::$_instance;
}
}
Cela permet donc avec un test tout simple de vérifier l’unicité d’une instance d’une classe précise.
29 avr
Par Clément dans PHP
Dans le dernier cours sur le développement orienté objet avec PHP je vous avais parlé de l’héritage entre deux classes.
L’héritage c’est quoi exactement ? C’est une technique qui permet de créer une classe à partir d’une autre. Elle lui sert de base de départ. Cela permet d’éviter à avoir à réécrire un même code source plusieurs fois.
Par conséquent une classe parente peut être héritée par plusieurs classe filles et donc ne connais pas les attributs ou les méthodes de chaque classe fille.
Lire le reste de cet article »
La programmation orientée objet (POO) ou programmation par objet, est un paradigme de programmation informatique qui consiste en la définition et l’assemblage de briques logicielles appelées objet; un objet représente un concept, une idée ou toute entité du monde physique, comme une voiture, une personne ou encore une page d’un livre.
Source : Wikipédia
En PHP, nous pouvons développer nos applications avec l’objet. Le but de l’objet permet de décrire une entité (par exemple un utilisateur) avec tous les attributs qu’il possède (nom, prénom, age) et toutes les actions qu’il peut faire (login, getName).
Cela permet de simplifier largement le code et permettre la ré-utilisabilitée du code dans un autre site. Un utilisateur s’identifie tout le temps de la même façon.
De nombreux développeurs qui créent des applications orientées objet, créent un fichier source par définition de classe.
L’inconvénient majeur de cette méthode est d’avoir à écrire une longue liste d’inclusions de fichier classes au début de chaque script : une inclusion par classe.
En php5, c’est finit ! La méthode __autoload() a été créée et permet le chargement des classes suivant les besoins de l’application .
En effet, si l’application a besoin d’une classe précise, la méthode __autoload() va charger la classe dont elle a besoin.
Voici comment l’utiliser :
function __autoload($className) {
require_once $className . '.class.php';
}
Et le tour est joué ! pas mal non?
Attention : vérifier que toutes vos classes ce trouvent au même endroit et quelle se termine par class.php (ou autre, mais respectant la syntaxe de ce que vous avez mis dans la déclaration de la fonction).
Si vos classes ne sont pas dans le même répertoire, il faudra modifier le include_path de php