Вопросы по теме 'php-internals'

Получение ресурса Zend без знания типа ресурса
Можно ли получить ресурсы Zend ( zend_fetch_resource ), не зная типа загружаемого ресурса? Если да, то как? Примечание. Я пишу расширение PHP.
609 просмотров
schedule 09.01.2023

Как курсор драйвера PHP MongoDB буферизует набор результатов?
Когда делаются запросы к mongodb, как курсор взаимодействует с результирующим набором в памяти? Извлекает ли курсор сразу все документы, соответствующие запросу? или он извлекает 1 документ за раз? или они буферизованы? или есть другое решение, о...
580 просмотров
schedule 04.04.2024

Почему file_get_contents быстрее, чем memcache_get?
Я загружаю файлы XML с диска, используя file_get_contents, и в качестве теста я обнаружил, что могу загрузить файл размером 156 КБ, используя file_get_contents() 1000 раз за 3,99 секунды. Я создал подкласс части, которая выполняет загрузку, и...
2027 просмотров
schedule 12.01.2024

Zend Engine возвращает ссылку на объект
В php допустимо написать что-то вроде этого: <?php class Foo { public function bar() { return $this; } } ?> Как я могу сделать это внутри Zend Engine? Я хочу, чтобы метод выполнял некоторые операции, а затем...
413 просмотров
schedule 29.12.2022

Ошибка SEG в расширении PHP
Я написал расширение PHP для доступа к функциям в статической библиотеке, я построил PHP как CGI, и все, казалось, работало (после нескольких дней работы над этим..) Взволнованный тем, что все заработало, я перекомпилировал PHP без отладочных...
374 просмотров

Компиляция расширения php в dll
Последние несколько дней я пытался использовать расширение перегрузки операторов (pecl.php.net/package/operator), которое, по-видимому, недавно было обновлено для совместимости с 5.3 и 5.4. Я пытался скомпилировать его в Windows (64-разрядная...
1814 просмотров
schedule 02.07.2023

Увеличение элементов массива в цикле foreach в php?
Рассмотрим код ниже: <?php $arr = array(); $arr['b'] = 'book'; foreach($arr as $key=>$val) { print "key=>$key\n"; if(!isset($arr['a'])) $arr['a'] = 'apple'; } ?> Он не отображает «а». Как foreach работает с...
3046 просмотров
schedule 08.05.2024

Создайте непрозрачный тип структуры с помощью LLVM OCaml API.
Я создаю компилятор PHP с серверной частью LLVM. Я буду использовать тип Zend zend_string для представления строк. Для этого мне нужен тип указателя LLVM с именем zend_string_ptr или что-то в этом роде. Как создать этот тип указателя с...
709 просмотров
schedule 20.03.2022

Какова фактическая стоимость памяти для хранения целого числа?
скажем, я просто делаю это $arr = array(); for ($i = 0; $i < 10; $i++) $arr[] = $i; Итак, я храню 10 целых чисел в массиве. Если целое число равно 32 байтам, стоимость памяти должна составлять 40 байт. Проблема в том, что я не сказал...
292 просмотров
schedule 18.04.2022

Неявный возврат пустоты в PHP 7.1?
Я нашел здесь новую спецификацию: https://wiki.php.net/rfc/void_return_type function lacks_return(): void { // valid } function returns_nothing(): void { return; // valid } function returns_void(): void { return void; // valid }...
601 просмотров
schedule 15.09.2023