Solid – D : Dependency inversion

Voici venu le temps des rires, des chants et du dernier article concernant les principes « SOLID », j’ai nommé: la « dependency inversion» ou, pour les anglophobes, l’inversion de dépendance. À ne pas confondre avec l’injection de dépendance, même si on n’en est « pas loin », nous verrons pourquoi. Pour comprendre le principe voyons d’abord ce qu’est réellement […]

SOLID – L: Liskov substitution

« Un carré est un rectangle ». Voilà ce que les gentils professeurs de géométrie nous ont dit. Mais, peut-on en dire de même en orienté objet ? Carre extend Rectangle ? En orienté objet, un rectangle est constitué de 2 attributs : « largeur » et « hauteur » avec leurs « setter » et « getter ». Rien d’incroyable:

Un carré, par […]

SOLID – O: Open/Closed

Le deuxième principe de SOLID nous apprend qu’il faut être ouvert à l’extension mais fermé à la modification. Mais qu’est-ce que cela veut bien pouvoir dire ? Comment faire ? Est-ce que c’est possible ? Fermé aux modifications ? Cela veut dire que je ne vais plus modifier mon code ? Comme disait mon bon […]

SOLID – S: Single Responsibility

Nous allons commencer une série d’articles reprenant les gros principes de base en orienté objet. Ce sont 5 points à ne pas rater! Si vous débutez, cela va clairement vous aider à bien structurer votre code. Si vous êtes déjà dans le bain, cela peut vous servir de piqûre de rappel. Nous aurons donc 5 […]

PHP5 : Les objets ne sont pas des (détestables) références

Depuis PHP5, j’entends souvent dire que les objets utilisent les références lors d’une assignation ou lorsqu’on les passe en paramètre par exemple. Même la documentation officielle (http://php.net/manual/fr/language.operators.assignment.php) l’explique noir sur blanc: « Une exception au comportement d’assignation par valeur en PHP est le type object, ceux-ci sont assignés par référence dans PHP 5. La copie d’objet doit […]