Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] metoda __call wyłapanie wszystkich wywołań
eai
post 1.06.2007, 10:13:39
Post #1





Grupa: Zarejestrowani
Postów: 367
Pomógł: 10
Dołączył: 20.05.2005

Ostrzeżenie: (0%)
-----


Kod PHP:
  1. <?php
  2.  
  3. class Catcher
  4. {
  5.  public $methods = array();
  6.  
  7.  public function save($name, $parm)
  8.  {
  9.  array_push($this->methods,array('name' => $name, 'parm' => $parm));
  10.  }
  11. }
  12.  
  13. class Object
  14. {
  15.  
  16.  public $object = false;
  17.  
  18.  public function __construct()
  19.  {
  20.  $this->object = new Catcher();
  21. }
  22.  
  23.  public function __call ($name, $parm)
  24.  {
  25. $this->object->save($name, $parm);
  26. return $this;
  27. }
  28. }
  29.  
  30. $obj = new Object();
  31. $obj->pierwszy()->drugi()->trzeci()->czwarty()->piaty();
  32.  
  33. echo '<pre>'; print_r($obj->object->methods); echo '</pre>';
  34. ?>


Rezultat:
Kod
Array
(
    [0] => Array
        (
            [name] => pierwszy
            [parm] => Array
                (
                )

        )

)


nie wyłapuje mi reszty :/ co jest?
Go to the top of the page
+Quote Post
nospor
post 1.06.2007, 10:56:29
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




a ja mam:
Kod
Array
(
    [0] => Array
        (
            [name] => pierwszy
            [parm] => Array
                (
                )

        )

    [1] => Array
        (
            [name] => drugi
            [parm] => Array
                (
                )

        )

    [2] => Array
        (
            [name] => trzeci
            [parm] => Array
                (
                )

        )

    [3] => Array
        (
            [name] => czwarty
            [parm] => Array
                (
                )

        )

    [4] => Array
        (
            [name] => piaty
            [parm] => Array
                (
                )

        )

)

smile.gif

Tylko ze ja mam php5 bez trybu kompatybilnosci z php4. Jak wlacze kompatybilnosc to mam to samo co ty.
Musisz pamietac, ze w trybie kompatybilnosci nie sa zwracane referencje obiektow, ale ich kopie, stad ten efekt


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
eai
post 1.06.2007, 11:03:41
Post #3





Grupa: Zarejestrowani
Postów: 367
Pomógł: 10
Dołączył: 20.05.2005

Ostrzeżenie: (0%)
-----


Fakt. Dzięki
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 13.06.2025 - 08:34