функция и ее параметры

Alex_Ar

Новичок
функция и ее параметры

Всем привет, вопрос - есть файл file.html, в нем написано
class - workclass
function - workfunction(5,true)

Мне надо считать это все из этого файла, и создать экземпляр класса workclass и запустить метод workfunction(5,true) этого класса.

Как запустить метод класса???

Можно считать в переменные строки
$class = "workclass";
$method = "workfunction(5,true)";

А как правильно делать дальше???
 

texrdcom

Новичок
Как запустить метод класса???
Ты пробовал почитать про классы ? :)
PHP:
class test
{
function a ($c)// Метод с именем а
{
echo  $c;
}
}
$class='test';
$metod='a';
//можно делать так
$o=new test();
$o->a('Привет');
//Вариант два
$o=new $class();
$o->$metod('Привет');
// Вариант 3
test::a('Привет'); // php 5
Просто из интереса: а что ты таким образом делаешь?
Тоже интерестно что ты такое задумал :)
 

Alex_Ar

Новичок
да я знаю, как запустить метод класса, но мне надо именно из файла считать в переменные и уже тогда запускать. Т.е. грубо говоря будет вид $workclass->$workfunction; Но это не сработает если у функции будут параметры и вообще это изврат. Поэтому я и спрашиваю. Я думаю мне функция нужна типа eval... что-то в этом духе...Никто не знает?
 

texrdcom

Новичок
Andreika
Привиди пример что то не понял тебя.
На вскидку цикл...
 

whirlwind

TDD infected, paranoid
фича в том, что у тебя описан класс, а обращаешься ты к экземпляру. Можно сделать конструкцию в eval-е, но это несекурно, учитывая что данные читаются из файла. В любом случае, перед выполнением eval необходимо проверить факт объявления запрошенного класса class_exists, а то такого наevalить можно...

PS. кстати

call_user_method_array -- Call a user method given with an array of parameters [deprecated]
call_user_method -- Call a user method on an specific object [deprecated]
 

Andreika

"PHP for nubies" reader
файлик
test1:func1:param1:param2:param3

сответстно надо выполнить метод func1 класса test1 с известными только в runtime параметрами )
 

whirlwind

TDD infected, paranoid
дык тут не классы, фактически статические функции. уже писали
PHP:
test::a('Привет'); // php 5
 

texrdcom

Новичок
Так нам нужен телепат ты не на тот форум написал ищи в Яндексе по словам магия волшебство гари потер :)
шутка,
Ты если хочешь совет то напиши тестовый пример....
 

texrdcom

Новичок
файлик
test1:func1:param1:param2:param3

сответстно надо выполнить метод func1 класса test1 с известными только в runtime параметрами )
Рег выражениям все режим делим засовуем в нужные переменые и волшебный метод 4 :)
->
$metod='a';
$parameter1='5';
$parameter149='true';
$o->metod($parameter1, $parameter149);
 

Andreika

"PHP for nubies" reader
texrdcom
таки не понял я тебя
у тебя допустим есть массив
$arr = array('111','222','333'); который берется из файла, базы или иеще откуда-то.. но не записан в скрипте

void echo ( string arg1 [, string argn...])
принимает например скока угодно параметров

надо в данном случае сделать нечто, аналогичное
echo(111,222,333) (естестно 3 раза вызывать функцию не надо :)
 

Andreika

"PHP for nubies" reader
whirlwind
как бы вам это сказать, милейший.. я не автор темы и мне здесь не надо отвечать ) мы тихонечко с другим автором беседуем, а вы как-бы отдельно )
 
Сверху