L'Orienté Objet

avec
PHP 

Accept your heritage

Par Loïc TRUCHOT 

Qu'est ce qui a mené à la POO ?

  • Stocker données dans vars 
  • Stocker les procédures réutilisables (aka functions)
  • Stocker des branches de vars (aka hashtable or objects)
  • Ordonner procédures
  • Une branche devient un "sous-programme" avec ses procédures
  • Programme: arbre de vars et funcs qui utilisent ces vars
var a = 5;
var b = false;
var c = 2 + 3;
var d = function() { 
  console.log('program scope:', a + c); 
} // 1 2

if (a === c) { // 1 3
    d(); // 4
} else {
    a = b; // 1 2
}

var newProgram = {
    a: 5,
    b: false,
    c: 2 + 8,
    d: function() { 
      console.log('subprogram :', this.a + this.c); 
    }
}

newProgram.d();

Une usine universelle

  • le scope du sous programme est appelé this
  • Platon: idéalisme & classes
  • variables deviennent properties
  • Un usine, un moule pour créer de nouveaux objets : le constructor
  • functions deviennent methods
  • un concept = une classe, une réalité = un objet

  Organiser et rester DRY

  • Vocabulaire spécifique pour indiquer les liens et éviter les accidents: public, protected, private, etc.
  • Héritage: une class peut extends une autre class
  • Kant: abstract class &  methods to extend, interface à implement, override, etc.
  • Méthodes et paramètres avec le mot clef static

OOPHP2019

By Loïc TRUCHOT

OOPHP2019

  • 340