Анализ ядра PHP7
原创内容,转载请注明出处~
代码版本:php-7.0.12
обратная связь
Общайтесь и жалуйтесь на обратную связь об ошибках
Бумажная версия
Цзиндонг Дандан
Оглавление:
- Глава 1. Базовая архитектура PHP
- 1.1 Введение в PHP
- 1.2 Улучшения в PHP7
- 1,3 футов в минуту
- 1.3.1 Обзор
- 1.3.2 Базовая реализация
- 1.3.3 Инициализация FPM
- 1.3.4 Обработка запроса
- 1.3.5 Управление процессами
- 1.4 Несколько этапов выполнения PHP
- Глава 2. Переменные
- 2.1 Внутренняя реализация переменных
- 2.2 Массив
- 2.3 Статические переменные
- 2.4 Глобальные переменные
- 2.5 Константы
- Глава 3. Виртуальная машина Zend
- 3.1 Компиляция PHP-кода
- 3.1.1 Лексический анализ и синтаксический анализ
- 3.1.2 Процесс компиляции абстрактного синтаксического дерева
- 3.2 Реализация функции
- 3.2.1 Внутренние функции
- 3.2.2 Реализация пользовательских функций
- 3.3 Процесс выполнения Zend-движка
- 3.3.1 Базовая структура
- 3.3.2 Процесс выполнения
- 3.3.3 Порядок выполнения функции
- 3.3.4 Глобальные Execute_data и opline
- 3.4 Объектно-ориентированная реализация
- 3.4.1 Класс
- 3.4.2 Объекты
- 3.4.3 Наследование
- 3.4.4 Динамические свойства
- 3.4.5 Магические методы
- 3.4.6 Автоматическая загрузка классов
- 3.5 Кэширование во время выполнения
- 3.6 Опкеш
- 3.6.1 Кэш кода операции
- 3.6.2 оптимизация кода операции
- 3.6.3 JIT
- Глава 4. Реализация базового синтаксиса PHP.
- 4.1 Преобразование типов
- 4.2 Выбор структуры
- 4.3 Структура цикла
- 4.4 Прерывания и переходы
- 4.5 включать/требовать
- 4.6 Обработка исключений
- Глава 5 Управление памятью
- 5.1 Пул памяти Zend
- 5.2 Сбор мусора
- Глава 6. Потокобезопасность
- 6.1 Что такое потокобезопасность?
- 6.2 Потокобезопасный менеджер ресурсов
- Глава 7 Расширенная разработка
- 7.1 Обзор
- 7.2 Принцип реализации расширения
- 7.3 Составление и компиляция расширений
- 7.3.1 Состав расширения
- 7.3.2 Инструменты компиляции
- 7.3.3 Основные шаги по написанию расширений
- 7.3.4 конфиг.m4
- 7.4 Функция крюка
- 7.5 Конфигурация времени выполнения
- 7.5.1 Глобальные переменные
- 7.5.2 INI-конфигурация
- 7.6 Функции
- 7.6.1 Регистрация внутренних функций
- 7.6.2 Анализ функциональных параметров
- 7.6.3 Передача параметров по ссылке
- 7.6.4 Возвращаемое значение функции
- 7.6.5 Вызов функции
- 7.7 Работа zval
- 7.7.1 Новая генерация различных типов zval
- 7.7.2 Получите значение и тип zval
- 7.7.3 Преобразование типов
- 7.7.4 Подсчет ссылок
- 7.7.5 Строковые операции
- 7.7.6 Операции с массивами
- 7.8 Константы
- 7.9 Объектно-ориентированный
- 7.9.1 Внутренняя регистрация класса
- 7.9.2 Определение атрибутов элемента
- 7.9.3 Определение методов-членов
- 7.9.4 Определение констант
- 7.9.5 Создание экземпляров классов
- 7.10 Типы ресурсов
- 7.11 Классический анализ расширений
- Глава 8. Пространства имен
- 8.1 Обзор
- 8.2 Определение пространства имен
- 8.2.1 Синтаксис определения
- 8.2.2 Внутренняя реализация
- 8.3 Использование пространств имен
- 8.3.1 Основное использование
- 8.3.2 использовать импорт
- 8.3.3 Динамическое использование
Внедрить новые функции PHP
- 1. Прерывание/продолжение реализовано в соответствии с синтаксисом прерывания метки.
- 2. отложить синтаксис
- 3. Сопрограмма
- 3.1 Принцип сопрограммы
- 3.2 Переключение контекста