Вопросы с тегом 'php-internals'
Как работает язык программирования PHP, и вопросы о базовом C-коде.
8
Как работает PHP foreach?
Позвольте мне префикс этого, сказав, что я знаю, что foreach есть, и как его использовать. Этот вопрос касается того, как он работает под капотом, и мне не нужны ответы по строкам "это то, как вы зацикливаете массив с помощью foreach".
Долгое время...
07 апр. '12 в 19:33
37
Что означает "zend_mm_heap corrupted" означает
Внезапно у меня были проблемы с моим приложением, которое у меня никогда не было. Я решил проверить журнал ошибок Apache, и я обнаружил сообщение об ошибке "zend_mm_heap corrupted". Что это значит.
ОС: Fedora Core 8
Apache: 2.2.9
PHP: 5.2.6
11 февр. '10 в 21:49
2
Скобки, изменяющие семантику результата вызова функции
Было отмечено в другом вопросе, что перенос результата вызова функции PHP в круглых скобках может каким-то образом преобразовать результат в полноценное выражение, так что следующее работы:
<?php
error_reporting(E_ALL | E_STRICT);
function get_a...
17 июл. '11 в 20:31
1
В чем разница между while (true) и for (;;) в PHP?
Есть ли разница в PHP между while(true) и for(;;) помимо синтаксиса и удобочитаемости?
Изменить: я бы не счел это дубликат - я хочу знать ответ, специфичный для PHP. Есть ли какая-то реальная разница в отношении двигателя? Соединяют ли они то же са...
07 апр. '14 в 14:53
5
Почему атрибуты PHP не позволяют выполнять функции?
Я новичок в PHP, но я много лет программирую на подобных языках. Меня смутило следующее:
class Foo {
public $path = array(
realpath(".")
);
}
Появилась синтаксическая ошибка: Parse error: syntax error, unexpected '(', expecting ')...
18 окт. '10 в 14:48
3
Какая разница между расширением и zend_extension в php.ini?
Когда я установил Xdebug через pecl, он добавил следующую строку в файл php.ini.
extension="xdebug.so"
и все, что я использовал, работало. До сегодняшнего дня.
Сегодня у меня возникли проблемы с настройкой Xdebug для интерактивной отладки. Я не ...
18 нояб. '09 в 18:18
1
Почему вы не можете наследовать от еще не определенного класса, который наследуется от еще не определенного класса?
Я изучаю компиляцию классов, последовательность и логику.
Если я объявляю класс перед простым родителем:
class First extends Second{}
class Second{}
Это будет работать нормально. См. живые примеры в версиях PHP.
Но если родительский класс такж...
14 апр. '15 в 13:42
4
Где я могу узнать о внутренних функциях PHP?
Каковы хорошие ресурсы для начала изучения внутренних функций PHP и Zend Engine?
08 дек. '10 в 16:23
1
Получить PHP-коды динамически во время выполнения
Я хочу создать расширение PHP, которое может динамически проверять каждый код операции, сгенерированный из файла PHP, и делать некоторые проверки на это.
Я наткнулся на несколько веб-сайтов и обнаружил пару таких функций, как zend_set_user_opcode_h...
12 янв. '15 в 14:29
5
Как ассоциативные массивы реализованы в PHP?
Может ли кто-нибудь объяснить, как PHP реализует ассоциативные массивы? Какая базовая структура данных использует PHP? Является ли PHP хэш ключом и хранит его в каком-то хэш-карте? Мне любопытно, потому что мне было интересно, что такое производитель...
29 окт. '08 в 16:26
5
Обнаружение того, является ли переменная PHP ссылкой/ссылкой
Есть ли способ в PHP определить, является ли данная переменная ссылкой на другую переменную и/или ссылается на другую переменную? Я ценю, что было бы невозможно разделить обнаружение "ссылки на" и "ссылку из" с учетом комментарий на php.net, что уста...
27 янв. '11 в 14:28
2
Обмен данными с помощью zend (многомерных массивов)
Я встраиваю PHP в свое приложение (написанное в Delphi 2010), используя компонент PHP4Delphi для взаимодействия с php5ts.dll.
Я предполагаю, что моя программа действует как расширение для PHP (sapi module?), Поскольку она регистрирует некоторые функц...
25 апр. '11 в 12:36
4
Как работает PHP-память
Я всегда слышал и искал новую "хорошую практику написания", например: "Лучше (для производительности) проверить, существует ли массив ключей, чем поиск в массиве, но также лучше для памяти:
Предполагая, что мы имеем:
$array = array
(
'one' =&...
01 авг. '14 в 13:27
3
Чтение кода API Zend Engine: что означает ## (двойной хеш)?
Из любопытства я читаю код API Zend Engine и столкнулся с довольно большим количеством ## в # define. Например, в /usr/lib/php 5/Zend/zend_API.h:
#define ZEND_FN(name) zif_##name
#define ZEND_MN(name) zim_##name
Что означают символы ## (double has...
17 мар. '09 в 9:06
0
Предварительная компиляция файлов PHP
В качестве учебного упражнения я пытаюсь сохранить скомпилированное состояние файла PHP, чтобы выполнить его позднее, без необходимости повторного просмотра zend_compile_file. Первым делом я написал расширение, которое перехватывает zend_compile_fi...
25 авг. '18 в 20:29