background preloader

PHP

Facebook Twitter

Classe singleton d'accès aux SGBD intégrant PDO. J'ai commencé à créer ma propre classe d'accès aux bases de données car j'avais véritablement envie d'implémenter des interfaces telles que Iterator ou Countable.

Classe singleton d'accès aux SGBD intégrant PDO

Seulement voilà, il existe déjà une classe de ce type native à PHP : PDO. Présentation brève de l'extension PDO Cette classe est particulièrement intéressante et pratique à utiliser car elle gère directement l'abstraction (comprenez qu'elle ne dépend pas d'un Système de Gestion de Base de Données (SGBD) pour fonctionner), la protection des données, les requêtes préparées, etc. En y reflechissant, je me suis dit que j'étais en train de perdre mon temps à essayer de refaire ce qui se fait déjà, probablement en moins bien ! C'est une chose de ne pas aimer le code tout fait (i.e. les Frameworks PHP), c'en est une autre de ne pas vouloir utiliser les classes natives.

Il y a cependant certaines choses que j'aimerai retrouver dans PDO : notamment le design pattern Singleton. Le pattern Singleton. Singleton : instance unique d'une classe. Dans la plupart des développements professionnels ou de grande envergure, il est nécessaire de savoir structurer correctement son application dans le but de faciliter sa conception et sa maintenance.

Singleton : instance unique d'une classe

Les « design patterns », où « patrons de conception » en français, constitue l'une des meilleures solutions à cette problématique. Avec le nouveau modèle orienté objet de PHP 5 proche de celui de Java, l'implémentation des design patterns est facilitée. Ce tutoriel s'intéresse à la présentation et à l'implémentation du motif Singleton, particulièrement employé au sein des applications web. Qu'est-ce qu'un patron de conception ? Définition extraite de Wikipedia : En génie logiciel, un patron de conception (design pattern en anglais) est un concept destiné à résoudre les problèmes récurrents suivant le paradigme objet. Les patrons de conception sont des solutions qui répondent à des problèmes récurrents d'architecture et de conception logiciels. Traits. Traits are useful for strategies, when you want the same data to be handled (filtered, sorted, etc) differently.

Traits

For example, you have a list of products that you want to filter out based on some criteria (brands, specs, whatever), or sorted by different means (price, label, whatever). You can create a sorting trait that contains different functions for different sorting types (numeric, string, date, etc). You can then use this trait not only in your product class (as given in the example), but also in other classes that need similar strategies (to apply a numeric sort to some data, etc). @bdelespierre - De l'usage correct des closures en PHP. Cet article a pour objet de vous verser dans l'art d'utiliser les closures, l'une des nouveautés les plus utiles de PHP 5.3.

@bdelespierre - De l'usage correct des closures en PHP

Il s'adresse à des développeurs chevronnés, au fait de la programmation orientée objet en PHP. Je ne reviendrai pas sur les concepts de fonction, de référence ou de portée des variables ni sur le paradigme objet. Vous avez à votre disposition d'autres cours pour ça. Tout au long de cet article, je parlerai de closures et de scopes et autres termes anglophones, j'ai choisi de les conserver dans leur langue originale car je trouve leurs équivalents français (fermetures et portées) moins parlants et surtout moins usités.

Fonctions lambda, closures, callbacks et objets invoquables Il est souvent utile de définir des comportements lors du déroulement de l'application (runtime), par exemple pour filtrer un tableau, valider les champs d'un formulaire ou encore pour créer une fonction de rappel. Créer une fonction anonyme à l'aide de create_function 1 <? 1 <? 1 <? 1 <? Bienvenue sur PHP Débutant. Je vais essayer d'expliquer ici, ce que veulent dire "Notice: Undefined variable" et "Notice: Undefined index" et comment les éviter.

Bienvenue sur PHP Débutant

Régulièrement, on peut lire sur les forums des questions du genre : J'essaye d'installer un script que j'ai téléchargé et il m'affiche : Notice : Undefined variable ou Depuis la modification de mon serveur, j'ai des messages : Notice : Undefined index. Pas de panique, c'est presque normal ! Pour bien comprendre ce que signifie ce message, observez cet exemple : A l'exécution de ce code, qu'est censé contenir la variable $x ? Logiquement, on devrait répondre : Impossible à dire car on ne connaît pas le contenu de la variable $y.

Pour PHP, la réponse est la suivante : Comme la variable $y n'existe pas, je notifie ça à l'utilisateur et je considère qu'elle ne vaut rien. Il est donc impératif d'affecter une valeur à la variable $y, ce qui donne : Il en va de même pour les index d'un tableau. PHP & Symfony. PHP: Manuel PHP - Manual. Php[tek] 2017: Atlanta Edit Report a Bug Manuel PHP ¶ par: Mehdi Achour Friedhelm Betz Antony Dovgal Nuno Lopes Hannes Magnusson Georg Richter Damien Seguy Jakub Vrana.

PHP: Manuel PHP - Manual