| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Как передать в конструктор массив параметров? |
| Автор: Чучмек 20.8.2013, 23:16 |
| Как передать в конструктор класса массив параметров? Наподобие call_user_func_array. Не охота через eval извращаться. |
| Автор: ksnk 21.8.2013, 01:14 |
А это не ответ на вопрос? Добавлено через 1 минуту и 20 секунд В смысле - передавай ассоциативный массив и будет щасте, не? |
| Автор: Чучмек 21.8.2013, 01:31 |
| Невкусно. |
| Автор: Arantir 21.8.2013, 02:03 |
| И откуда у людей вечно берутся подобные проблемы? =) Хм... Может это call_user_func_array? О, мсье знает толк в извращениях © Из анекдота http://www.php.net/manual/en/book.reflection.php ReflectionFunction::__construct ( mixed $name ) ReflectionFunction::invokeArgs ( array $args ) Но reflection - это усегда минус в перфоменсе... |
| Автор: Чучмек 21.8.2013, 03:08 | ||
Arantir, спасибо.
|
| Автор: ksnk 21.8.2013, 07:02 | ||
C рефлекцией точно-точно вкуснее. Очевидно же! Класс же явно самодельный, почему бы его не откорректировать? |
| Автор: Чучмек 21.8.2013, 16:55 |
Что я на этом теряю? Может и так. |
| Автор: ksnk 21.8.2013, 17:43 |
Эффективность. Просто выполни достаточное количество инициализаций в первом случае и во втором. Оплучится проигрыш во времени исполнения, хотя и не катастрофический, но на большом количестве повторений - заметный. Юзабилити. Для работы с таким классом ОБЯЗАТЕЛЬНО нужно будет использовать рефлекшн, а это отпугивает нормальных разработчиков |
| Автор: Sanchezzz 21.8.2013, 18:11 |
| Иногда без рефлекшина и не обойтись) |
| Автор: ksnk 21.8.2013, 21:32 |
| Sanchezzz, Когда, например? Я могу себе представить только тестирование, документирование, диагностика отладочных и ошибочных сообщений. http://forum.vingrad.ru/forum/topic-370606.html я пытался прикрутить рефлекшн для конструирования админки приложения, imho, удачно. Вот только причесать немного код. То есть чисто служебные надобности. |
| Автор: Sanchezzz 21.8.2013, 22:36 | ||||||
| Я читал этот топик) Например для получения пути вызванного класса отнаследованного от Modules
Модуль
Можно было например заставить пользователя прописать в модуле News в методе init вот такую штуку
Но лишние телодвижения, я не люблю делать |
| Автор: ksnk 22.8.2013, 00:03 | ||||
Как то странно
А потом этот же путь, с приписанным к нему каталогом добавляем путь поиска автолода?
При чем тут рефлекшн? Все пути вычисляются статически. Не? |
| Автор: Sanchezzz 22.8.2013, 10:02 |
| Ага чет я даже и сам не заметил, что можно по логике и без reflection решить, извиняюсь за смуту. |