420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1
Exemple – User.php <?php require_once('dao/UserDAO.php'); class User { private $username; private $firstName; private $lastName; public function __construct() { // constructeur (on peut également appeler le constructeur par le nom de la classe, // ce n’est cependant pas conseillé. Exemple, si on renomme la classe et qu’on oublie de // changer le nom du constructeur, alors ca pourrait engendré un/des bug(s). La // documentation PHP suggère également d’utiliser __construct()) } public function getUsername() { return $this->username; } 2
Variables de classe Private Exemple : private $userId; Accessible seulement à partir de la classe Public Exemple : public $firstName; Accessible par une autre classe Protected Exemple : protected $uid; Seulement accessible à la classe et à ses sous-classes 3
Variables statiques Déclaration Exemple : public static $staticVar = ‘300’; Pour y accéder echo self::$staticVar; echo parent::$staticVar; echo User::$staticVar; 4
Les méthodes Exemple : public function maFonction() { // logique ici } 5
Accéder aux méthodes/variables de classe À l’intérieur de la classes $this->maFonction(); $this->username; De l’extérieur $user = new User(); $user->maFonction(); $user->username; 6
Héritage class Foo { protected static $variable = 'foo'; public function __construct() { } } class Bar extends Foo { public function Bar() { parent::__construct(); // autrement ce n’est pas appelé automatiquement $this->variable (puisque c’est protected) } 7
Proposition pour séparation des couches (MVC) 8 VueContrôleurModèle login.php loginAction.php commonAction.php UserDAO.php