PHP je věda

Objektově orientované programování nejen v PHP

Zápis do proměnných objektu

PHP nám poskytuje bohužel bohudík možnost vytvářet za běhu nové stavové proměnné objektu, aniž by byly předem definovány.

Pokud si vytvoříme např. Instanci předchozí třídy, je možné udělat následující:

<?php
// file: MemberVariables.php
 
require_once "User.php";
 
$user = new User("Karel", "SxkejsSSw", 1);
 
// spatny priklad, nepouzivat prirazovani
// nedefinovanych vlastnosti objektu
$user->address = "Brno";
 
// sprabne zapisovat jen do promennych pro ktere
// je v objektu definovany setter
$user->setName("Marek");

Samozřejmě, najdou se určitě příklady, kde by se dala možnost vytvoření vlastnosti address za běhu programu využít, ale pouze v extrémních případech může být něco takového k užitku. Doporučuji mít všechny stavové proměnné definované jako protected a přístupovat k nim pouze přes setter a getter. Do nedefinovaných stavových proměnných nezapisovat. Pokud se programátor drží těchto pravidel, může opět, jak již bylo na začátku zdůrazněno, lépe využívat možnosti IDE.