Articles of анонимная функция

php is_function (), чтобы определить, является ли переменная функцией

Я был очень рад прочитать об анонимных функциях в php, которые позволяют вам объявлять переменную, которая работает легче, чем вы могли бы сделать с create_function . Теперь мне интересно, есть ли у меня функция, которая передается переменной, как я могу проверить ее, чтобы определить, является ли она функцией? Функция is_function () пока отсутствует, и когда […]

Создание анонимных функций из PHP 5.3 работает с PHP 5.2

У меня есть анонимные функции, которые мне теперь нужно обновить, чтобы быть совместимыми с PHP 5.2. Функция (ниже) принимает текст и верхнюю часть первой буквы каждого предложения. function clean_text($input) { $output = $input; $output = preg_replace_callback('/([.!?])\s*(\w)/', function ($matches) { return strtoupper($matches[1] . ' ' . $matches[2]); }, ucfirst(strtolower($input))); return $output; } Я попытался вытащить функцию, […]

Отображать переменную во время создания анонимной функции PHP

Я пытаюсь получить простую функцию сортировки, используя анонимные функции. Один для сортировки по возрастанию и сортировке. Можно ли сразу же отобразить переменную $ sortBy , когда она создана, но все еще переданы при переходе $ x и $ y ? Я хочу иметь возможность динамически передавать ключ при их создании. $sortBy = 'some_key'; // descending […]

Какая версия php добавляет анонимные функции

В руководстве есть функция create_function и вы можете передать результат из этой функции в array_map , я думал, что это единственный способ иметь что-то вроде анонимных функций и закрытий, но потом я обнаружил, что могу просто поместить функцию, как в javascript array_map(function($a) { return $a+1; }, array(1, 2, 3, 4, 5)); В какой версии php […]

Действительно ли работает статическая анонимная функция PHP?

Я пытаюсь изучить PHP, и теперь я застрял в «статической анонимной функции». Я нашел это в учебнике ( http://www.slideshare.net/melechi/php-53-part-2-lambda-functions-closures-presentation ) Ориентация объектов Лямбда-функции – это закрытие, потому что они автоматически привязаны к сфере действия класса, в котором они созданы. ' $this ' не всегда требуется в области. Удаление « $this » может быть сохранено в […]

PHP: имена аргументов функции

Мне нужно получить имена анонимных аргументов функции. Например: $func = function ( $param1, $param2 ) { … }; $names = DO_SOMETHING($func); // after this $names should become something like array('param1', param2') Теоретически это возможно, потому что var_dump($func) говорит, что $func является объектом класса Closure и имеет свойство parameter которое является array('param1', 'param2') . Официальная документация […]

Доступ к частным / защищенным свойствам объекта в анонимной функции в PHP

Я пытаюсь сбрасывать элементы частной собственности объекта через анонимную функцию – конечно, я мог бы достичь этого любым другим способом, но это подчеркивает загадку PHP, которую я не могу решить с головы до головы, $ foo = $ this и используя $ foo – но это не даст мне личные вещи, поэтому … предложения? Образец […]

PHP изменить код, чтобы избежать анонимных функций

Я нашел некоторые решения проблемы сортировки, которые у меня были, но код использует анонимные функции в PHP. Im, использующий версию 5.2.17, и я считаю, что анонимные функции не поддерживаются. Как я могу изменить следующие блоки кода, чтобы я мог использовать их в PHP 5.2.17 $keys = array_flip($order); usort($items, function($a, $b) use($keys) { return $keys[$a['id']] – […]

Почему и как вы используете анонимные функции в PHP?

Анонимные функции доступны из PHP 5.3. Должен ли я использовать их или избегать? Если да, то как? Отредактировано ; просто нашел приятный трюк с анонимными функциями php … $container = new DependencyInjectionContainer(); $container->mail = function($container) {}; $conteiner->db = function($container) {}; $container->memcache = function($container) {};

Использование $ this в анонимной функции

В руководстве по PHP Невозможно использовать $this от анонимной функции до PHP 5.4.0 на странице анонимных функций . Но я обнаружил, что могу заставить его работать, назначив $ this ссылке и передав ссылку на инструкцию use в определении функции. $CI = $this; $callback = function () use ($CI) { $CI->public_method(); }; Является ли это хорошей […]

Intereting Posts