Flux RSS

Setters et Getters dans Yii framework


Yii framework contien plusieurs fonctionaliés et l’une de ces fonctionalités c’est définir les propriétés d’une classe avec les Getters et Setters.

Pratiquement chaque classe dans Yii framework est un composant, qui est une simple classe PHP hérite de CComponent, si votre classe est une classe fille de CComponent, l’implémentation de Getters et Setters (entre autres) n’est qu’une question de temps.

Dans ce petit tuto nous alons apprendre comment bénificier de cette fonctionalité et comment créer des classe avec des propriétés facile à accéder.

Avant de voir cette implémentation avec Yii nous alons voir une classe PHP simple (POPO) et comment accéder à ces propriété comme le montre ce gist:

Pour accéder à une propriété dans cette classe soit en écriture où lécture on dois passer par les fonctions de type getXX et setXX comme dans ce gist:

car tout les propriétés sont on privé (encapsulation), l’accée à une propriété sans le passage par un getter ou un setter est impossible, cette syntaxe est connus dans le monde de JAVA et C# mais un peux long pour PHP, avec Yii on peux le changer comme ça:

et l’accée à une propriété devient:

Maintenant l’accée à une propriété dans la classe Post avec les getXXX ou setXXX ou directement sans utiliser ces fonctions renvois le même résultat.

Comment ça marche?

Pour utiliser les getters et setters comme propriété, CComponent implémente les méthodes magiques de PHP par exemple:

Ce code est une portion des fonctions __get et __set de CComponent dans liens de l’API du framework vous pouvez le voir en détail.

Yii framework a profité d’une fonctionalité native qui existe au niveau du langage PHP, cette fonctionalité est l’une des techniques utilisées dans le framework mais sont pas détaillées dans la documentation du framework (déja expliquée dans le site de PHP), comme ça vous avez fais un grand avancement pour comprendre l’architecture et la philosophie deriére Yii framework.

About these ads

À propos de cherifbouchelaghem

Web designer et développeur frontend backend, passioné par les standards web et développement jQuery, jQuery UI, php et Yii framework

  1. Greaaaaaaaaaaaaat bro, good luck (y)

  2. HASSEIN BEY

    ahaaa, un retour, une très bonne chose, on attends plus de tes postes.

    PS : à quand canJS ?

%d blogueurs aiment cette page :