Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Object-oriented programming _ Dynamiczne zmienianie metod

Napisany przez: szosa 29.09.2016, 18:41:16

Hej,
nie wchodzac w szczegóły chciałbym w bazie danych zapisywać jaka metoda ma zadziałać na obiekt. Zapisuję j± jako string z nazwa konkretnej funkcji. Jak j± wywoływac, czy jeszt jaki¶ sposób. Chodzi mi o co¶ takiego

  1. $nazwaFunkcji = 'jakasFunkcja'; //pobrane z bazy danych
  2. $obiekt-> //(funkcja której nazwa jest ukryta w zmiennej $nazwaFunkcji ma działać jak $obiekt->jakasFunkcja();

Da się to w ogóle zrobić? Z góry dzięki za pomoc

Napisany przez: kapslokk 29.09.2016, 18:44:10

http://php.net/manual/en/function.call-user-func.php

  1. call_user_func([$obiekt, "metoda"]);

Napisany przez: Spawnm 29.09.2016, 18:45:54

call_user_func
lub zwyczajnie $obj->$method($params); lub $obj->{$method}($params);

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)