Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP5 OOP] Użycie metody __set dla składowej jako tablicy
phpion
post
Post #1





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Hej!
Mam pewien problem. W jaki sposób wykonać metodę __set($param, $value) dla składowej klasy będącej tablicą? Może podam na przykładzie:
  1. <?php
  2. class SomeClass {
  3. private $array = array(
  4. 'field' => 'value'
  5. );
  6.  
  7. public function __set($param, $value) {
  8. $this->$param = $value;
  9. }
  10. }
  11.  
  12. $obj = new SomeClass();
  13. echo "<pre>".print_r($obj, true)."</pre>";
  14.  
  15. $obj->__set("array['field']", "change");
  16. echo "<pre>".print_r($obj, true)."</pre>";
  17. ?>

Co w rezultacie daje:
  1. SomeClass Object
  2. (
  3. [array:private] => Array
  4. (
  5. [field] => value
  6. )
  7.  
  8. )
  9. SomeClass Object
  10. (
  11. [array:private] => Array
  12. (
  13. [field] => value
  14. )
  15.  
  16. [array['field']] => change
  17. )

W jaki sposób zmienić wartość $this->array['field']?

PS: wiem, że można to zrobić tworząc osobną metodę zmieniającą element tablicy ale czy da się to samo osiągnąć korzystając z __set()?

Ten post edytował phpion.com 2.06.2007, 11:00:50
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 12:24