Как стать автором
Обновить
8
0

Spark

Отправить сообщение

Передача аргументов функции по имени в PHP

Время на прочтение2 мин
Количество просмотров6.7K
При рефакторинге кода возникла одна небольшая идея относительно вызова методов. Иногда возникает потребность передать функции аргумент по имени. Например тогда, когда невозможно (или неудобно) передать список в нужном порядке. Такими случаями могут быть вызовы динамических блоков из шаблонизаторов: в шаблоне у нас {{mymodule action=foo second=124322 fourth='catalog' first='name' third='foo'}} и в коде есть следуйщая синатура функции — function foo($first, $second, $third, $fourth). подобный подход используеться в системе Magento для вызова блоков из лей-аутов; или нужно передать методу даные на основе фильтра в каком-нибуть асоциативном масиве. В PHP4 возможным решением было помещение всего списка аргументов в масив. В PHP версии 5 есть же Reflection API, с помощью которого возможно проделать подобное. Perl, Python (, ...) могут, так почему ж ето должно быть невозможно в PHP?:)
смотреть на ето простое решение
Всего голосов 24: ↑13 и ↓11+2
Комментарии18

Устранение неполадок xdebug с php версии 5.3

Время на прочтение1 мин
Количество просмотров922
Кто пользуется редактором Netbeans для разработки на PHP и установленая версия интерпретатора у него > 5.3, наверное, заметил, что при сеансах отладки не отображаются переменные в области редактора «Variables». Как уже писал пользователь @grey-one здесь, вышла бета-версия отладчика 2.1.0 (уже вторая даже). Для проверки я установил все это с svn (поскольку в macports до сего времени имеется только версия 2.0.5 без поддержки php5.3):

# cd /tmp
# svn co svn://svn.xdebug.org/svn/xdebug/xdebug/trunk xdebug
# cd xdebug
# phpize
# ./configure --enable-xdebug
# cp modules/xdebug.so /ваш/путь/к/расширениям


и добавить строчку к вашему ini-файлу:
zend_extension="/ваш/путь/к/расшИрениям/xdebug.so"


ну и перезагрузить сервер:
# /opt/local/apache2/bin/apachectl graceful


Пока бета, иногда заметил ошибки «Socket exception occured» при завершении сеанса отладки. Пользуемся на свой страх и риск:)

p.s.: спасибо пользователю Fragster за коррекцию

Привожу пример типичной настройки netbeans + xdebug
Читать дальше →
Всего голосов 13: ↑10 и ↓3+7
Комментарии8

Информация

В рейтинге
Не участвует
Откуда
Amsterdam, Noord-Holland, Нидерланды
Дата рождения
Зарегистрирован
Активность

Специализация

Software Architect