PHP源代码目录结构简介_PHP教程
余超 yuchao86@gmail.com
基于PHP-5.3.8源代码给大家分享一下PHP的内核结构,以便更好的理解PHP脚本的执行过程和写出高效率的脚本。
目录结构如下:
1. build 和编译有关的目录,里面包括wk,awk和sh脚本用于编译处理,其中m4文件是linux下编译程序自动生成的文件,可以使用buildconf命令操作具体的配置文件。
2. ext 扩展库代码,例如Mysql,gd,zlib,xml,iconv 等我们熟悉的扩展库,ext_skel是linux下扩展生成脚本,windows下使用ext_skel_win32.php脚本生成,
每个扩展目录下包括php_扩展名.c文件和phpt批处理测试脚本。
3. main 主目录,包括php.h,main.c,logos.h数组等等,是php程序的主要部分,定义了程序的SAPI接口全局变量等等。
4. netware 网络目录,以前的版本没有此目录,里面就两个文件sendmail_nw.h和start.c,分别定义SOCK通信说需要的头文件和具体实现。
5. pear 扩展包目录,PHP Extension and Application Repository的简写,install-pear.txt文件中详细说明了怎么样安装具体的扩展包,自己去看吧。
6. sapi 和各种服务器的接口调用,例如apache、IIS等,也包含一般的fastcgi、cgi等,如果你看过apache的源代码的话,这个目录一目了然的清楚了,比如apache_hooks和apache2handler等等。
7. scripts Linux 下的脚本目录。
8. tests 测试脚本目录,主要是phpt脚本,由--TEST--,--POST--,--FILE--和--EXPECT--三个部分组成。有些需要初始化的可以加--INI--部分。
9. TSRM 线程安全资源管理器,Thread Safe Resource Manager的缩写,研究过PHP的源码,你就会看到这个东西到处都在,保证在单线程和多线程模型下的线程安全和代码一致性。
10. win32目录,Windows 下编译PHP 有关的脚本,用了WSH。
11. Zend 文件夹核心的引擎,包括PHP的生命周期,内存管理,变量定义和赋值以及函数宏定义等等。
如果你有更好的看法,请回邮件讨论,谢谢

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

CakePHP est un framework MVC open source. Cela facilite grandement le développement, le déploiement et la maintenance des applications. CakePHP dispose d'un certain nombre de bibliothèques pour réduire la surcharge des tâches les plus courantes.

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et
