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

Как работает язык программирования PHP, и вопросы о базовом C-коде.
7
ответов

Как работает PHP foreach?

Позвольте мне префикс этого, сказав, что я знаю, что foreach есть, и как его использовать. Этот вопрос касается того, как он работает под капотом, и мне не нужны ответы по строкам "это то, как вы зацикливаете массив с помощью foreach". Долгое время...
задан 07 апр. '12 в 22:33
36
ответов

Что означает "zend_mm_heap corrupted" означает

Внезапно у меня были проблемы с моим приложением, которое у меня никогда не было. Я решил проверить журнал ошибок Apache, и я обнаружил сообщение об ошибке "zend_mm_heap corrupted". Что это значит. ОС: Fedora Core 8 Apache: 2.2.9 PHP: 5.2.6
задан 12 февр. '10 в 0:49
2
ответов

Скобки, изменяющие семантику результата вызова функции

Было отмечено в другом вопросе, что перенос результата вызова функции PHP в круглых скобках может каким-то образом преобразовать результат в полноценное выражение, так что следующее работы: <?php error_reporting(E_ALL | E_STRICT); function get_a...
задан 17 июля '11 в 23:31
1
ответ

В чем разница между while (true) и for (;;) в PHP?

Есть ли разница в PHP между while(true) и for(;;) помимо синтаксиса и удобочитаемости? Изменить: я бы не счел это дубликат - я хочу знать ответ, специфичный для PHP. Есть ли какая-то реальная разница в отношении двигателя? Соединяют ли они то же са...
задан 07 апр. '14 в 17:53
5
ответов

Почему атрибуты PHP не позволяют выполнять функции?

Я новичок в PHP, но я много лет программирую на подобных языках. Меня смутило следующее: class Foo { public $path = array( realpath(".") ); } Появилась синтаксическая ошибка: Parse error: syntax error, unexpected '(', expecting ')...
задан 18 окт. '10 в 17:48
3
ответов

Какая разница между расширением и zend_extension в php.ini?

Когда я установил Xdebug через pecl, он добавил следующую строку в файл php.ini. extension="xdebug.so" и все, что я использовал, работало. До сегодняшнего дня. Сегодня у меня возникли проблемы с настройкой Xdebug для интерактивной отладки. Я не ...
задан 18 нояб. '09 в 21:18
1
ответ

Почему вы не можете наследовать от еще не определенного класса, который наследуется от еще не определенного класса?

Я изучаю компиляцию классов, последовательность и логику. Если я объявляю класс перед простым родителем: class First extends Second{} class Second{} Это будет работать нормально. См. живые примеры в версиях PHP. Но если родительский класс такж...
задан 14 апр. '15 в 16:42
4
ответов

Где я могу узнать о внутренних функциях PHP?

Каковы хорошие ресурсы для начала изучения внутренних функций PHP и Zend Engine?
задан 08 дек. '10 в 19:23
1
ответ

Получить PHP-коды динамически во время выполнения

Я хочу создать расширение PHP, которое может динамически проверять каждый код операции, сгенерированный из файла PHP, и делать некоторые проверки на это. Я наткнулся на несколько веб-сайтов и обнаружил пару таких функций, как zend_set_user_opcode_h...
задан 12 янв. '15 в 17:29
5
ответов

Как ассоциативные массивы реализованы в PHP?

Может ли кто-нибудь объяснить, как PHP реализует ассоциативные массивы? Какая базовая структура данных использует PHP? Является ли PHP хэш ключом и хранит его в каком-то хэш-карте? Мне любопытно, потому что мне было интересно, что такое производитель...
задан 29 окт. '08 в 19:26
5
ответов

Обнаружение того, является ли переменная PHP ссылкой/ссылкой

Есть ли способ в PHP определить, является ли данная переменная ссылкой на другую переменную и/или ссылается на другую переменную? Я ценю, что было бы невозможно разделить обнаружение "ссылки на" и "ссылку из" с учетом комментарий на php.net, что уста...
задан 27 янв. '11 в 17:28
2
ответов

Обмен данными с помощью zend (многомерных массивов)

Я встраиваю PHP в свое приложение (написанное в Delphi 2010), используя компонент PHP4Delphi для взаимодействия с php5ts.dll. Я предполагаю, что моя программа действует как расширение для PHP (sapi module?), Поскольку она регистрирует некоторые функц...
задан 25 апр. '11 в 15:36
4
ответов

Как работает PHP-память

Я всегда слышал и искал новую "хорошую практику написания", например: "Лучше (для производительности) проверить, существует ли массив ключей, чем поиск в массиве, но также лучше для памяти: Предполагая, что мы имеем: $array = array ( 'one' =&...
задан 01 авг. '14 в 16: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 в 12:06
4
ответов

Мне больше нравится потребление памяти в Php 7 по сравнению с PHP 5.6

Когда я делал бенчмарк, я обнаружил, что PHP 7 использует больше памяти, чем PHP 5.6. Итак, я сделал тест. Я запустил script, содержащий только: $a=10; и ниже приведены результаты для памяти, используемой при использовании PHP CLI без каких-ли...
задан 28 сент. '16 в 10:10