Articles of Закрытие

Как вызвать анонимную функцию PHP с различным порядком аргументов

Я хочу вызвать анонимную функцию (лямбда или закрытие), которая имеет некоторые аргументы, я знаю имена аргументов, но я не знаю их порядок! Функция call_user_func_array () может вызывать функцию с массивом аргументов, но массив не может быть ассоциативным массивом для установки каждого значения для желаемого аргумента, следующие коды – мои попытки решить мою проблему, но они […]

Путаница с идентификатором «use» при закрытии PHP

Я немного запутался с закрытием PHP. Может кто-то прояснить это для меня: // Sample PHP closure my_method(function($apples) use ($oranges) { // Do something here }); В чем разница между $apples и $oranges и когда я должен использовать их?

Проблема с закрытием PHP

По-видимому, $ pid находится вне сферы действия здесь. Разве это не должно быть «закрыто» функцией? Я довольно уверен, что, например, закрытие работает в javascript. Согласно некоторым статьям, закрытие php нарушено , поэтому я не могу получить к нему доступ? Итак, как можно получить доступ к $ pid из этой функции закрытия? class MyClass { static […]

Закрытие вызова, присвоенное объекту напрямую

Я хотел бы иметь возможность вызвать замыкание, которое я назначаю прямому свойству объекта, не переназначая замыкание переменной, а затем вызываю ее. Это возможно? Код ниже не работает и вызывает Fatal error: Call to undefined method stdClass::callback() . $obj = new stdClass(); $obj->callback = function() { print "HelloWorld!"; }; $obj->callback();

В PHP 5.3.0, что такое функция «использовать» идентификатор?

Я просматриваю некоторые функции PHP 5.3.0 и просматриваю какой-то код на сайте, который выглядит довольно забавно: public function getTotal($tax) { $total = 0.00; $callback = /* This line here: */ function ($quantity, $product) use ($tax, &$total) { $pricePerItem = constant(__CLASS__ . "::PRICE_" . strtoupper($product)); $total += ($pricePerItem * $quantity) * ($tax + 1.0); }; array_walk($this->products, […]

PHP 5.4 – «закрытие $ этой поддержки»

Я вижу, что новыми запланированными функциями для PHP 5.4 являются: черты, разнесение массивов, интерфейс JsonSerializable и что-то называемое « closure $this support », http://en.wikipedia.org/wiki/Php#Release_history В то время как остальные либо сразу очищаются (JsonSerialiable, разыменование массива), либо я искал специфику (черты), я не уверен, что такое «закрытие $ этой поддержки». Я был безуспешным поиском для него […]

С отключенными «магическими кавычками» почему PHP / WordPress продолжает автоматически избегать моих данных POST?

Это простой вопрос с странно неуловимым ответом. get_magic_quotes_gpc() 0. Повторяю, магические кавычки отключены. Магические кавычки, похоже, были отключены в php.ini (не во время выполнения). Тем не менее, все данные POST, включая одинарные кавычки ('), экранируются при доступе к PHP. Что может быть причиной этого? Спасибо. Изменить: для любопытных это скриншот нашей phpinfo: http://img843.imageshack.us/img843/6959/screenshot20120120at552.png Редактирование: при […]

Исключение: Сериализация «Закрытие» не допускается

Поэтому я не совсем уверен, что мне нужно будет показать вам, ребята, как бы то ни было, если вам нужно больше кода, пожалуйста, не стесняйтесь спрашивать: Таким образом, этот метод настроит initMailer для Zend в нашем приложении: protected function _initMailer() { if ('testing' !== APPLICATION_ENV) { $this->bootstrap('Config'); $options = $this->getOptions(); $mail = new Zend_Application_Resource_Mail($options['mail']); }elseif […]

Доступ к переменным из родительской области в анонимной функции PHP

Я хочу написать функцию, которая выполняет какую-то грязную работу, регистрируя транзакцию, но область анонимных функций, похоже, не регистрирует родительскую область переменных $db и $value . Как передать переменные в закрытие? По иронии судьбы, замыкание тегов SO не очень точно описывает PHP-версию …? class controller { function submit() { $db = new database(); $result = $db->execute_tx(function() […]

Создание и вызов анонимной функции в одном выражении

Закрытие или анонимная функция php используется для создания функции без указания ее имени. Можно ли их вызывать без присвоения идентификатора, как в JavaScript? например (function(){ echo('anonymous function'); })(); Каково правильное использование конструкции use при определении анонимной функции и каков статус анонимной функции в общедоступном методе с возможностью доступа к приватным свойствам? $anon_func = function($my_param) use($this->object_property){ […]

Intereting Posts