Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Statyczne Wywoływanie Metod
Vengeance
post 20.08.2004, 14:34:11
Post #1





Grupa: Zarejestrowani
Postów: 657
Pomógł: 2
Dołączył: 15.08.2003
Skąd: Łódź

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


Taki kod
Kod
<?php
   class foo
   {
      function bar($var)
      {
         return $var;
      }
   }

   $cos = foo::bar('aaa');
?>


A jak zrobić aby zadziałało coś w tym stylu:
Kod
<?php
   class foo
   {
      function bar($var)
      {
         return $var;
      }
   }
   $class = 'foo'
   $cos = $clas::bar('aaa');
?>


--------------------
Go to the top of the page
+Quote Post
kicaj
post 20.08.2004, 14:47:01
Post #2





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

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


Moze get_class" title="Zobacz w manualu PHP" target="_manual();


--------------------
PHP Developer

"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola
Go to the top of the page
+Quote Post
Vengeance
post 20.08.2004, 15:02:13
Post #3





Grupa: Zarejestrowani
Postów: 657
Pomógł: 2
Dołączył: 15.08.2003
Skąd: Łódź

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


[query]
string get_class ( object obiekt)

Funkcja ta zwraca nazwę klasy, której obiekt jest egzemplarzem. Zwraca FALSE jeżeli obiekt nie jest obiektem.
[/query]

E nie oto mi chodziło. Gdy tworzy się nowy obiekt to można zrobić tak

Kod
<?php
$class = 'foo';
$object = new $class('argument');
?>


A jak osiągnąć to samo tylko, że wywołując metode statycznie.
Kod
<?php
$class = 'foo';
$costam = $foo::metoda('argumenty');
?>


--------------------
Go to the top of the page
+Quote Post
DeyV
post 20.08.2004, 15:45:50
Post #4





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




call_user_func" title="Zobacz w manualu PHP" target="_manual

  1. <?php
  2. class myclass {
  3. function say_hello() 
  4. {
  5. echo &#092;"Hello!n\";
  6. }
  7. }
  8.  
  9. $classname = &#092;"myclass\";
  10.  
  11. call_user_func(array($classname, 'say_hello'));
  12. ?>


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
Vengeance
post 20.08.2004, 16:00:17
Post #5





Grupa: Zarejestrowani
Postów: 657
Pomógł: 2
Dołączył: 15.08.2003
Skąd: Łódź

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


O dzięki. Też patrzyłem na tę funkcję ale kurcze nie zauważyłem, że zwraca mixed. Bo zależało mi nie na samym wykonaniu metody, ale pobraniu tego co ona zwraca.

thx


--------------------
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: 15.07.2025 - 07:16