Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] uruchamianie funkcji o nazwie przekazanej w zmienej
rudolf35
post
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 17.10.2007

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


próbuję w konstruktorze klasy uruchomić funkcję przekazaną w zmiennej. Np w zmiennej $funkcja jest nazwa funkcji "test" i chcę ją uruchomić w taki sposób: $funkcja(); Ale wyrzuca mi błąd:
Cytat
Fatal error: Call to undefined function test()

Chociarz funkcja napewno jest zadeklarowana w klasie... Jakieś pomysły?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


I w czym problem?
  1. function test() {
  2. echo "a test() has been called";
  3. }
  4. class A {
  5. function __construct($fname) {
  6. call_user_func($fname);
  7. echo "a constructor of class A has been called";
  8. }
  9. }
  10. $a = new A("test");

Zerknij do manuala

// edit
Jeśli funkcja jest zdefiniowana w klasie (czyli jest metodą klasy B ), to:

  1. class B {
  2.  
  3. function __construct($fname) {
  4. $this->$fname();
  5. echo "a constructor of class A has been called";
  6. }
  7.  
  8. public function test() {
  9. echo "B::test()";
  10. }
  11. }
  12. $b = new B("test");


Ten post edytował kwiateusz 3.03.2010, 10:35:21
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 6.10.2025 - 07:42