Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | |||
web:php:chap5 [2023/11/08 15:23] – supprimée - modification externe (Unknown date) 127.0.0.1 | web:php:chap5 [2023/11/08 15:23] (Version actuelle) – ↷ Page déplacée de php:chap5 à web:php:chap5 jcheron | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Chapitre 5 : PHP Objet ====== | ||
+ | ===== - Création de classe ===== | ||
+ | |||
+ | * **$this** Référence à l' | ||
+ | * **$this-> | ||
+ | * Respect de l' | ||
+ | |||
+ | <sxh php; | ||
+ | <?php | ||
+ | namespace models; | ||
+ | class User{ | ||
+ | |||
+ | private $login=""; | ||
+ | private $password=""; | ||
+ | |||
+ | public function getId() { | ||
+ | return $this-> | ||
+ | } | ||
+ | |||
+ | public function setId($id) { | ||
+ | $this-> | ||
+ | return $this; | ||
+ | } | ||
+ | |||
+ | public function getLogin() { | ||
+ | return $this-> | ||
+ | } | ||
+ | |||
+ | public function setLogin($login) { | ||
+ | $this-> | ||
+ | return $this; | ||
+ | } | ||
+ | |||
+ | public function getPassword() { | ||
+ | return $this-> | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== - Instanciation d' | ||
+ | |||
+ | * ne pas oublier d' | ||
+ | * L' | ||
+ | <sxh php; | ||
+ | use models\User; | ||
+ | |||
+ | $aUser=new User(); | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== - Constructeur explicite ===== | ||
+ | |||
+ | <sxh php; | ||
+ | <?php | ||
+ | namespace use models; | ||
+ | |||
+ | class User{ | ||
+ | |||
+ | private $login=""; | ||
+ | private $password=""; | ||
+ | public function __construct($login="", | ||
+ | } | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | Pas de surcharge, mais paramètres optionnels | ||
+ | |||
+ | |||
+ | <sxh php; | ||
+ | <?php | ||
+ | use models\User; | ||
+ | |||
+ | $user1=new User(); | ||
+ | $user2=new User(" | ||
+ | $user3=new User(" | ||
+ | </ | ||
+ | |||
+ | ===== - Appels de méthodes ===== | ||
+ | |||
+ | Opérateur -> | ||
+ | |||
+ | <sxh php; | ||
+ | <?php | ||
+ | use models\User; | ||
+ | |||
+ | $user=new User(" | ||
+ | echo $user-> | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== - Héritage ===== | ||
+ | |||
+ | Mot clé **extends** | ||
+ | |||
+ | <sxh php; | ||
+ | <?php | ||
+ | class Admin extends User{ | ||
+ | |||
+ | ... | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Référence à la classe parent ==== | ||
+ | |||
+ | **parent:: | ||
+ | |||
+ | <sxh php; | ||
+ | <?php | ||
+ | class Admin extends User{ | ||
+ | |||
+ | public function __construct(){ | ||
+ | parent:: | ||
+ | ... | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== - Méthodes statiques ===== | ||
+ | |||
+ | <sxh php; | ||
+ | <?php | ||
+ | class Utilitaire{ | ||
+ | |||
+ | public static function show($user){ | ||
+ | ... | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Appel de méthode statique dans la classe | ||
+ | |||
+ | <sxh php; | ||
+ | <?php | ||
+ | class Utilitaire{ | ||
+ | |||
+ | public function test($user){ | ||
+ | ...self:: | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | Appel de méthode statique en dehors de la classe | ||
+ | |||
+ | <sxh php; | ||
+ | <?php | ||
+ | use models\User; | ||
+ | |||
+ | $aUser=new User(" | ||
+ | Utilitaire:: | ||
+ | |||
+ | </ |