![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| 444ert666 |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 9.5.2006 Репутация: нет Всего: нет |
Здравствуйте!
Задача такая. Нужно реализовать функцию входным параметром которой является имя статического класса(в виде строки), а выходным результат выполнения этого метода в этом классе. примерно так:
Естесственно не работает, выдает ошибку:
Как можно реализовать сие? это вооще возможно? Заранее спасибо. Добавлено через 10 минут и 42 секунды Сорри, наше решение, сделал вот так:
Но насколько это правильно с идеологической точки зрения? может есть решение поизящней? |
||||||
|
|||||||
| Dima 2015 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 287 Регистрация: 16.3.2008 Где: SPb Репутация: 2 Всего: 2 |
444ert666, eval должно помочь.
$class = 'class_name'; $method = 'method_name'; eval("$class::$method;"); Добавлено через 8 минут и 11 секунд
Вот так у меня работает... Добавлено через 10 минут и 15 секунд 444ert666, in /web/sub/mycms... ЦМС свою пишешь? : ))) Добавлено через 12 минут и 1 секунду 444ert666, есть у меня подозрение что это единственное решение - обращаться к классу и его методу, когда имя класса/метода заданно строковой переменной. Совершенно недавно знакомый задавался такой задачей, и мы с ним ничего иного не придумали, а у него стаж немалый уже... Ну хотя местные гуру как всегда может изобретут что-то |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
А eval-то тут к чему?
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| 444ert666 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 9.5.2006 Репутация: нет Всего: нет |
ksnk,
Спасибо огромное, думаю это более удачный способ |
|||
|
||||
| Dima 2015 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 287 Регистрация: 16.3.2008 Где: SPb Репутация: 2 Всего: 2 |
444ert666,
ksnk, угу, если токо не нужно параметры передавать в ф-цию, то наверное так быстрее. А вот параметры, на сколько я знаю, передать не получится при подходе, предлагаемом ksnk. |
|||
|
||||
| solenko |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 34 Всего: 67 |
Dima 2015, вы бы в мануал заглянули перед тем как что-то утверждать.
-------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
| Dima 2015 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 287 Регистрация: 16.3.2008 Где: SPb Репутация: 2 Всего: 2 |
solenko, хех.. справедливо. Прочитал беглым взглядом, на самом деле там написано что по ссылке нельзя передать в нее параметры, а я грешным делом подумал что все...
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |