Я хочу вызвать анонимную функцию (лямбда или закрытие), которая имеет некоторые аргументы, я знаю имена аргументов, но я не знаю их порядок! Функция call_user_func_array () может вызывать функцию с массивом аргументов, но массив не может быть ассоциативным массивом для установки каждого значения для желаемого аргумента, следующие коды – мои попытки решить мою проблему, но они […]
Я немного запутался с закрытием PHP. Может кто-то прояснить это для меня: // Sample PHP closure my_method(function($apples) use ($oranges) { // Do something here }); В чем разница между $apples и $oranges и когда я должен использовать их?
По-видимому, $ 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 и просматриваю какой-то код на сайте, который выглядит довольно забавно: 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 являются: черты, разнесение массивов, интерфейс JsonSerializable и что-то называемое « closure $this support », http://en.wikipedia.org/wiki/Php#Release_history В то время как остальные либо сразу очищаются (JsonSerialiable, разыменование массива), либо я искал специфику (черты), я не уверен, что такое «закрытие $ этой поддержки». Я был безуспешным поиском для него […]
Это простой вопрос с странно неуловимым ответом. 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 […]
Я хочу написать функцию, которая выполняет какую-то грязную работу, регистрируя транзакцию, но область анонимных функций, похоже, не регистрирует родительскую область переменных $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){ […]