Замыкания удобно применять в качестве callback-функций. Замыкания создают функции, не имеющие определенных имен. Замыкания автоматически преобразуются в экземпляры класса Closure. Время жизни переменных, используемых в замыкании, может быть больше, чем у той функции, где их определили. В контексте класса для передачи $this в замыкание нужно использовать промежуточную переменную: $v = $this; use ($v) Пример (0): [...]
tech blog
Category Archives: php
preg_split и прямой вызов функций внутри замыканий
50000 0.0020001009607315 20001009607315 1884 56.68 0.0016987597370148 16987597370148 15.06 2952 100000 0.0020226094222069 20226094222069 1884 0.0017117062973976 17117062973976 15.37 2952 150000 0.0020203295516968 20203295516968 1884 0.0017234358565013 17234358565013 14.69 2952 Вывод: прямой вызов работает быстрее на 15%, но затрачивает памяти на 56% больше.
const, define и память
На простом примере проверялось число байт, затраченных на объявление 500 констант через define и const. const const real const emalloc const peak real const peak emalloc start 524288 370528 524288 431488 stop 524288 370832 524288 431488 define define real define emalloc define peak real define peak emalloc start 1048576 454548 1048576 747424 stop 1048576 454852 [...]
Получить данные из PUT
файл $p = fopen(‘php://input’, ‘r’); while ($d = fread($p. 1024)) { …actions… } данные parse_str(fopen(‘php://input’), $p);