LINUX.ORG.RU

php создание локальной функции


0

1

из руководства по php:

1. Невозможность объявления локальных функций. В PHP вы не можете объявить локальную функцию, как это можно сделать в других языках программирования. Попросту говоря, вы не можете создать функцию внутри другой функции таким образом, чтобы первая (вложенная) функция была видна только во второй функции. В PHP вложенная функция будет доступна всей программе (скрипту), а значит не будет локальной.

где-то тут на форуме встречал, что такое возможно, может кто-то знает эту магию? спасибо.

★★★

php.su что ли? Oh noes...

пример для размышлений:

function getClosure()
{
    $g = 'test';

    $c = function($a, $b) use($g){       
        echo $a . $b . $g;        
    };

    $g = 'test2';    
    
    return $c;
}

$closure = getClosure();
$closure(1, 3); //13test

getClosure()->__invoke(1, 3); //13test

(взято отсюда: http://habrahabr.ru/post/147620/)

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

php.su что ли? Oh noes...

так точно))))

IvanR ★★★
() автор топика

Вероятно, там данные не обновлялись с включения в язык анонимных функций.

rikardoac
()

Рекомендую пользоваться актуальной официальной документацией, а не ...

Galaxy
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.