Voici un petit exemple pour bien comprendre ce qui se passe lorsque l’on utilise @@self@@ ou @@$this@@, avec des attributs @@static@@ ou non : /// 1. Public, static, direct : ‘.$this->de.’
‘; echo ‘2. Public, static, self : ‘.self::$fr.’
‘; echo ‘3. Public, direct : ‘.$this->en.’
‘; echo ‘4. Public, self : ‘.self::$es.’
‘; } } $appel = new DitBonjour(); $appel->saluer(); ?> /// Ce qui renvoie : > __Notice:__ Undefined property: DitBonjour::$de in __F:\bn\Web\Test\PHPObjet\test2.php__ on line __13__%%% > __1. Protected, static, direct :__ %%% > __2. Protected, static, self :__ Coucou le monde !%%% > __3. Public, direct :__ Hello world!%%% > __Fatal error:__ Access to undeclared static property: DitBonjour::$es in __F:\bn\Web\Test\PHPObjet\test2.php__ on line __16__ !!!Moralité : * On ne peut accéder à un attribut static qu’avec self (ou parent, ou NomClass) * On ne peut accéder à un attribut non static avec self, on y accède avec $this
Catégories
- Apache (6)
- Avent (14)
- C / C++ (5)
- CMS (16)
- Geekeries (41)
- HTML et CSS (6)
- Informations (12)
- Java (26)
- Javascript (8)
- L'anecdote du week-end (4)
- PHP (30)
- PHP objet (20)
- Projets (4)
- Référencement (4)
- SQL (9)
- XML (3)
- XMPP (4)
Tags
30 minutes Android Anecdote Ant Apache attribut C class CMS constructeur CSS date design Dotclear Eclipse erreur Expression Google Java Javascript Joomla jQuery Ligne de commande Linux Maven MySQL méthode PgSQL PHP POO Projet public regex Référencement SEO Shell SQL ssh tutoriel Url Rewriting Wallpaper Windows Wordpress XHTML XML
Les variables static , c’est typiquement un truc que j’utilise jamais … je devrais peut etre?
Mais c’est bon à savoir pour quand je les utiliserais ^^ ! thanks