Pull to refresh
8
0

Spark

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

Reading time 2 min
Views 6.4K
PHP *
При рефакторинге кода возникла одна небольшая идея относительно вызова методов. Иногда возникает потребность передать функции аргумент по имени. Например тогда, когда невозможно (или неудобно) передать список в нужном порядке. Такими случаями могут быть вызовы динамических блоков из шаблонизаторов: в шаблоне у нас {{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?:)
смотреть на ето простое решение
Total votes 24: ↑13 and ↓11 +2
Comments 18

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

Reading time 1 min
Views 833
Lumber room
Кто пользуется редактором 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
Читать дальше →
Total votes 13: ↑10 and ↓3 +7
Comments 8

Information

Rating
Does not participate
Location
Amsterdam, Noord-Holland, Нидерланды
Date of birth
Registered
Activity

Specialization

Software Architect