Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Statyczne Wywoływanie Metod
Forum PHP.pl > Forum > PHP
Vengeance
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');
?>
kicaj
Moze get_class" title="Zobacz w manualu PHP" target="_manual();
Vengeance
[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');
?>
DeyV
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. ?>
Vengeance
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.