Наткнулся на статью, вполне доступно и понятно написано. Думаю новичкам как я которые интересуются ООП будет интересно. http://www.ibm.com/developerworks/ru/library/os-php-7oohabits/#publicaccessor
Это все, конечно, очень хорошо. Но не считаю правильным использовать 123 функции для назначения свойств класса, как это показано в примере...
admyx PHP: <?php public function __get($var){ $method="get".ucfirst($var); if (method_exists($this, $method)){ return $this->$method(); } return $this->$var; } public function __set($var, $val){ $method="set".ucfirst($var); if (method_exists($this, $method)){ $this->$method($val); }else{ $this->$var=$val; } } не?
Volt(220) Разве ООП есть только в РНР? ЗЫ: в С# это делается с помощью специальной конструкции для объявления геттеров и сеттеров для каждого из свойства, ага.
Volt(220) Блядь, ты статью читал? PHP: <?php public function getPrefix() { return $this->prefix; } public function setGivenName($gn) { $this->givenName = $gn; } public function getGivenName() { return $this->givenName; } public function setFamilyName($fn) { $this->familyName = $fn; } public function getFamilyName() { return $this->familyName; } public function setSuffix($suffix) { $this->suffix = $suffix; } public function getSuffix() { return $suffix; }
А что вам не нравится? Много строчек? Тогда идите на брейнфаке программить. А в любой приличной IDE создание гетеров и сетеров делается одним кликом. Ну, магия тоже выручает, да, хотя с ней и осторожнее нада быть.