Pull to refresh
8
0

User

Send message

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

Reading time2 min
Reach and readers6.9K
При рефакторинге кода возникла одна небольшая идея относительно вызова методов. Иногда возникает потребность передать функции аргумент по имени. Например тогда, когда невозможно (или неудобно) передать список в нужном порядке. Такими случаями могут быть вызовы динамических блоков из шаблонизаторов: в шаблоне у нас {{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?:)
смотреть на ето простое решение

Information

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

Specialization

Архитектор программного обеспечения