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的生命周期,内存管理,变量定义和赋值以及函数宏定义等等。
如果你有更好的看法,请回邮件讨论,谢谢

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

CakePHP ialah rangka kerja MVC sumber terbuka. Ia menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP mempunyai beberapa perpustakaan untuk mengurangkan beban tugas yang paling biasa.

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data
