E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
PHP内核
Zephir--最简单的php扩展开发工具
php的扩展是用c语言编写,Zend是语言引擎,
PHP内核
。在实际编写php扩展的时候,需要使用大量的ZendApi,虽然运行效率高,但是其实难度也比较大。
jonetwelve
·
2016-02-18 16:00
深入理解
PHP内核
(五)函数的内部结构
、匿名函数、变量函数($func='print_r';$func(array('a','b'));)
PHP内核
源码中将函数分为以下类型#defineZEND_INTERNAL_FUNCTION1 #defineZEND_USER_FUNCTION2
orlion
·
2016-02-16 15:00
深入理解
PHP内核
(五)函数的内部结构
、匿名函数、变量函数($func='print_r';$func(array('a','b'));)
PHP内核
源码中将函数分为以下类型#defineZEND_INTERNAL_FUNCTION1 #defineZEND_USER_FUNCTION2
orlion
·
2016-02-16 15:00
PHP解释器引擎执行流程 - [
PHP内核
学习 ]
catalogue1.SAPI接口 2.PHPCLI模式解释执行脚本流程 3.PHPZendComplile/Execute函数接口化(HookCall架构基础) 1.SAPI接口PHP的SAPI层实现上层接口的封装,使得PHP可以用在很多种模式场景下(例如apache、ningx、cgi、fastcgi、cli),以以cliSAPI为例子学习PHP解释器引擎是如何处理PHP用户态源代码文件的
.Little Hann
·
2016-01-29 14:00
PHP解释器引擎执行流程 - [
PHP内核
学习 ]
catalogue1.SAPI接口 2.PHPCLI模式解释执行脚本流程 3.PHPZendComplile/Execute函数接口化(HookCall架构基础) 1.SAPI接口PHP的SAPI层实现上层接口的封装,使得PHP可以用在很多种模式场景下(例如apache、ningx、cgi、fastcgi、cli),以以cliSAPI为例子学习PHP解释器引擎是如何处理PHP用户态源代码文件的
.Little Hann
·
2016-01-29 14:00
PHP之常量
PHPisthebestlanguage"); constYOU="PHPisthebestlanguage"; echoYOU; echoconstant("YOU"); //判断常量是否存在 defined(YOU);预定义常量
php
xuandaijian
·
2016-01-27 15:00
PHP
常量
PHP内核
学习教程之php opcode内核实现
opcode是计算机指令中的一部分,用于指定要执行的操作,指令的格式和规范由处理器的指令规范指定。除了指令本身以外通常还有指令所需要的操作数,可能有的指令不需要显式的操作数。这些操作数可能是寄存器中的值,堆栈中的值,某块内存的值或者IO端口中的值等等。通常opcode还有另一种称谓:字节码(bytecodes)。例如Java虚拟机(JVM),.NET的通用中间语言(CIL:CommonInterm
Little Hann
·
2016-01-27 10:42
PHP Opcode内核实现 - [
PHP内核
学习 ]
catalogue1.Opcode简介 2.PHP中的Opcode 3.opcode翻译执行(即时解释执行) 1.Opcode简介opcode是计算机指令中的一部分,用于指定要执行的操作,指令的格式和规范由处理器的指令规范指定。除了指令本身以外通常还有指令所需要的操作数,可能有的指令不需要显式的操作数。这些操作数可能是寄存器中的值,堆栈中的值,某块内存的值或者IO端口中的值等等通常opcode
.Little Hann
·
2016-01-27 10:00
PHP Opcode内核实现 - [
PHP内核
学习 ]
catalogue1.Opcode简介 2.PHP中的Opcode 3.opcode翻译执行(即时解释执行) 1.Opcode简介opcode是计算机指令中的一部分,用于指定要执行的操作,指令的格式和规范由处理器的指令规范指定。除了指令本身以外通常还有指令所需要的操作数,可能有的指令不需要显式的操作数。这些操作数可能是寄存器中的值,堆栈中的值,某块内存的值或者IO端口中的值等等通常opcode
.Little Hann
·
2016-01-27 10:00
PHP数组/Hash表的实现/操作、PHP变量内核实现、PHP常量内核实现 - [
PHP内核
学习 ]
catalogue1.PHPHash表 2.PHP数组定义 3.PHP变量实现 4.PHP常量实现 1.PHPHash表0x1:基本概念哈希表在实践中使用的非常广泛,例如编译器通常会维护的一个符号表来保存标记,很多高级语言中也显式的支持哈希表。哈希表通常提供查找(Search),插入(Insert),删除(Delete)等操作,这些操作在最坏的情况下和链表的性能一样为O(n)。不过通常并不会
.Little Hann
·
2016-01-26 10:00
PHP数组/Hash表的实现/操作、PHP变量内核实现、PHP常量内核实现 - [
PHP内核
学习 ]
catalogue1.PHPHash表 2.PHP数组定义 3.PHP变量实现 4.PHP常量实现 1.PHPHash表0x1:基本概念哈希表在实践中使用的非常广泛,例如编译器通常会维护的一个符号表来保存标记,很多高级语言中也显式的支持哈希表。哈希表通常提供查找(Search),插入(Insert),删除(Delete)等操作,这些操作在最坏的情况下和链表的性能一样为O(n)。不过通常并不会
.Little Hann
·
2016-01-26 10:00
深入理解
PHP内核
(四)概览-PHP脚本的执行
本文链接:http://www.orlion.ml/236/下面以php命令行程序为例解释PHP脚本是怎么被执行的。例如如下脚本:假设这段代码保存在hello.php文件中,在命令行中执行:$php./hello.php会输出helloworld,那么在执行脚本的时候PHP/Zend都做了什么呢?一、程序的执行上例中,传递给php程序需要执行的文件,php程序完成基本的准备工作后启动PHP及Zen
orlion
·
2016-01-25 15:00
深入理解
PHP内核
(二)概览-PHP生命周期与Zend引擎
本文参考自《深入理解
PHP内核
》,地址:https://github.com/reeze/tipi本文链接:http://www.orlion.ml/232/1、SAPI接口SAPI(ServerApplicationProgrammingInterface
orlion
·
2016-01-25 13:00
PHP内核
(一)内存管理
本文链接:http://www.orlion.ml/tag/php-internal/一、内存管理基础用c语言开发时,开发者要手动进行内存管理。PHP经常作为web服务器的模块,内存管理与预防内存泄露紧密关联。另外PHP可能用于线程环境中,所以全局变量可能导致竞争情况。此外Zend引擎面对一个十分特殊的使用模式:在一段比较短的时间内,许多zval结构大小的内存块和其他的小内存块被申请又再被释放,P
orlion
·
2016-01-22 17:00
深入
PHP内核
之面向对象总结
很久以前看过的,今天总结一下一、PHP中创建一个类在PHP中创建一个简单的类是这样的: 二、zend_class_entry结构zend_class_entry是内核中定义的一个结构体,是PHP中类与对象的基础结构类型。struct_zend_class_entry{ chartype;//类型:ZEND_INTERNAL_CLASS/ZEND_USER_CLASS char*name;//
chenpingzhao
·
2016-01-21 16:00
PHP内核
探索:Zend虚拟机
通过前面的学习,我们了解到一个PHP文件在服务器端的执行过程包括以下两个大的过程:递给php程序需要执行的文件,php程序完成基本的准备工作后启动PHP及Zend引擎,加载注册的扩展模块。初始化完成后读取脚本文件,Zend引擎对脚本文件进行词法分析,语法分析。然后编译成opcode执行。如过安装了apc之类的opcode缓存,编译环节可能会被跳过而直接从缓存中读取opcode执行。在第二步中,词法
旋转木马-千里马
·
2016-01-21 11:00
PHP内核
了解:生命周期及运行模式
PHP运行模式1)CGI(通用网关接口/CommonGatewayInterface)2)FastCGI(常驻型CGI/Long-LiveCGI)3)CLI(命令行运行/CommandLineInterface)4)Web模块模式(Apache等Web服务器运行的模式)5)ISAPI(InternetServerApplicationProgramInterface)备注:在PHP5.3以后,PH
grassroots2011
·
2016-01-05 11:00
PHP
内核
PHP resource类型的实质是什么
resource(2,gd)这里不适宜深究,这个问题已经步入PHP的内核的范畴啦,php为了处理哪些无法用标量数据来表示的数据,在
PHP内核
中引入了资源标识这个数据类型。Resou
hsd2012
·
2015-12-25 16:00
PHP总结
PHP通过不断淬炼,
PHP内核
中涉及从脚本的编译解析到执行以及和Web服务器等的配合,内存管理,语法实现等。SAPI执行PHP是一种基于C语言高级语言,作为一种解释型编程语言,能够好的进行跨平台开发。
xjc200808
·
2015-12-23 16:00
PHP
php内核
探索笔记-内存的申请与释放
内存申请PHP底层对内存的管理,围绕着小块内存列表(free_buckets)、大块内存列表(large_free_buckets)和剩余内存列表(rest_buckets)三个列表来分层进行的。ZendMM向系统进行的内存申请,并不是有需要时向系统即时申请,而是由ZendMM的最底层(heap层)先向系统申请一大块的内存,通过对上面三种列表的填充,建立一个类似于内存池的管理机制。这样做的好处是避
xjc200808
·
2015-12-16 19:00
PHP
内存
内核
PHP底层实现源码阅读笔记(4)
在能够编译
PHP内核
代码的基础上,今天写点代码来练习练习。
李静波
·
2015-12-15 21:00
PHP内核
探索笔记-函数
函数定义:函数的定义是一个将函数名注册到函数列表的过程1.词法分析:function将会生成T_FUNCTION标记2.语法分析:3.生成中间代码:生成的中间代码为ZEND_DECLARE_FUNCTION,根据这个中间代码及操作数对应的op_type。我们可以找到中间代码的执行函数为ZEND_DECLARE_FUNCTION_SPEC_HANDLER。在生成中间代码时,已经统一了函数名全部为小写
xjc200808
·
2015-12-15 18:00
PHP
函数
内核
php内核
探索-常量
在PHP中常量的结构只是在变量的基础上添加了一些额外的元素:typedefstruct_zend_constant{ zvalvalue;/*zval结构,PHP内部变量的存储结构,在前面有说明*/ intflags;/*常量的标记如CONST_PERSISTENT|CONST_CS*/ char*name;/*常量名称*/ uintname_len; intmodule_number;/*模块号
xjc200808
·
2015-12-14 18:00
PHP
内核
PHP内核
探索笔记-变量
php变量组成部分:变量名:php语言的变量名以$开头+英文/下划线,可以包含数字、下划线、字母,区分大小写。同时PHP也支持复合变量,形如$$A,增加了php的动态性。类型:php属于弱类型语言,可以赋值任意类型的值。内容:在同一时刻只能有一种值。php语言中存在8中数据类型,分为三大类:1.标量类型:Boolean,integer,float,string;2.复合类型:object,arra
xjc200808
·
2015-12-14 15:00
PHP
hash
类型
php内核
探索笔记-解释器的执行过程
以CLISAPI为例来对php执行核心部分进行解析。CLI是php命令行模式,此SAPI是默认安装的,在服务器端安装过PHP后,生成以一个可执行文件,可以在shell中调用PHP命令来执行。PHP-fXX.php执行流程:解析命令行参数;初始化环境;编译执行PHP代码;清理环境,退出;在第3个阶段中,如何执行PHP脚本的:通过调用php_execute_script(handle_file)来完成
xjc200808
·
2015-12-14 10:00
PHP
脚本
内核
php内核
探索=opcode
在前面
php内核
探索笔记-初窥,了解到php代码执行需要进行编译->执行。在编译阶段首先进行词法分析,然后再进行语法分析,才生成用于Zend引擎执行的opcode。究竟opcode是什么东西呢?
xjc200808
·
2015-12-12 16:00
PHP
Web
内核
opcode
php内核
探索笔记-初窥
一、概括编程语言分为两类:编译型,解释型。编译型语言主要包括,C/C++、C#等。编译型语言有一个专门的编译过程,通过编译器编译成机器语言,只需要一次编译过程,每次执行不需要重新编译。解释型语言主要包括,PHP,PYTHON等。编译型语言在执行前并不需要编译过程,可以直接执行,每次执行需要解释器将代码解释成机器语言(也即编译)。为了执行效率,并不是所有的语言每次执行都需要编译,例如:PHP的opc
xjc200808
·
2015-12-11 16:00
PHP
sapi
PHP底层实现源码阅读笔记(2)
在Windows下编译
PHP内核
代码官方文档见:https://wiki.php.net/internals/windows/stepbystepbuild我的环境:32位Windows71、安装VisualStudioCommunity2015
李静波
·
2015-12-04 16:00
PHP中HASH函数的优化技巧
Hash在
PHP内核
中扮演了非常重要的角色,数组、变量作用域、函数参数列表等均是基于Hash实现。所以,在PHP里你能看到各种对于Hash的优化。
ChefXu
·
2015-12-04 13:00
PHP
优化
达夫设备
PHP内核
相关博客
http://www.phppan.com/http://www.php-internals.com/http://www.laruence.com/http://www.walu.cc/phpbook/1.md http://www.open-open.com/lib/view/open1392188698114.html 简介编写C扩展
gao1383979
·
2015-11-24 18:37
php内核
PHP内核
相关博客
http://www.phppan.com/http://www.php-internals.com/http://www.laruence.com/http://www.walu.cc/phpbook/1.md http://www.open-open.com/lib/view/open1392188698114.html 简介编写C扩展
gao1383979
·
2015-11-24 18:37
php内核
PHP的运行机制与原理(底层)
说到php的运行机制还要先给大家介绍php的模块,PHP总共有三个模块:内核、Zend引擎、以及扩展层;
PHP内核
用来处理请求、文件流、错误处理等相关操作;Zend引擎(ZE)用以将源文件转换成机器语言
数通畅联
·
2015-11-16 11:22
PHP内核
探索之变量(5)- session的基本原理
原文:
PHP内核
探索之变量(5)- session的基本原理 这次说说session. session可以说是当前互联网提到的最多的名词之一了。
·
2015-11-13 16:08
session
PHP内核
探索之变量(4)- 数组操作
原文:
PHP内核
探索之变量(4)- 数组操作 上一节(
PHP内核
探索之变量(3)- hash table),我们已经知道,数组在PHP的底层实际上是HashTable(链接法解决冲突),本文将对最常用的函数系列
·
2015-11-13 16:08
PHP
PHP内核
探索之变量(3)- hash table
原文:
PHP内核
探索之变量(3)- hash table 在PHP中,除了zval, 另一个比较重要的数据结构非hash
·
2015-11-13 16:07
table
PHP内核
探索之变量(2)-理解引用
原文:
PHP内核
探索之变量(2)-理解引用 本文主要内容: 引论 符号表与zval 引用原理 回到最初的问题 一、引论 很久之前写了一篇关于引用的文章,当时写的寥寥草草
·
2015-11-13 16:06
PHP
PHP内核
探索之变量(1)Zval
原文:
PHP内核
探索之变量(1)Zval 作为数据的容器,我们常常需要跟变量打交道,不管这个变量是数字、数组、字符串、对象还是其他,因而可以说变量是构成语言的不可或缺的基础。
·
2015-11-13 16:05
PHP
数组实现[置顶]
PHP内核
中的神器之HashTable
发一下牢骚和主题无关: 一、哈希表义定 哈希表(或散表列),是将键名key按指定的散列函数HASH经过HASH(key)算计后映射到表中一个录记,而这个数组就是哈希表。 这里的HASH指意任的函数,例如MD5、CRC32、SHA1或你自义定的函数实现。 &
·
2015-11-13 13:33
Hashtable
PHP底层工作原理
Apache的启动而运行的; PHP通过mod_php5.so模块和Apache相连(具体说来是SAPI,即服务器应用程序编程接口); PHP总共有三个模块:内核、Zend引擎、以及扩展层;
PHP
·
2015-11-13 04:48
工作原理
PHP内核
探索之变量(6)- 后续内核探索系列大纲备忘
原文:
PHP内核
探索之变量(6)- 后续内核探索系列大纲备忘 年前因为工作比较饱和,现在又忙着换工作的事情,基本停止了对博文的更新。后续的博文,还是慢慢补上吧。
·
2015-11-13 02:14
PHP
PHP内核
在Zend Engine 2 (PHP5+)中,arginfo的数据是由多个zend_arg_info结构体构成的数组,数组的每一个成员即每一个zend_arg_info结构体处理函数的一个参数。zend_arg_info结构体的定义如下: typedef struct _zend_arg_info { const char *name; /* 参数的名称*
·
2015-11-13 00:51
PHP
2012年7月12 – 腾讯公司 WEB高级应用开发工程师 最新面试题
$_GET :浏览器URL传递过来的QUERY部分,被
PHP内核
创建的全局变量。2. $_POST:由HTTP提交(POST)过来的大文本内容,被
PHP内核
创建全局变量。3. $
·
2015-11-12 23:44
2012
php内核
一 一次请求与结束
php开始 到 结束 有两个阶段 请求开始之间的初始化阶段 请求之后的结束处理阶段 开始阶段: 模块初始化 &
·
2015-11-12 19:46
PHP
PHP内核
研究
深入理解
PHP内核
:Think In PHP Internals(TIPI)是一个开源项目 ,分享PHP内部实现的细节,如内核,扩展等。
·
2015-11-12 17:35
PHP
SPL 笔记
从5.3开始,SPL已经嵌入
PHP内核
,无需任何配置 php提供了下列的 数据结构类:
·
2015-11-12 10:45
笔记
深入理解
php内核
编写扩展 I:介绍PHP和Zend
内容: 编写扩展I - PHP和Zend起步 原文:http://devzone.zend.com/public/view/tag/Extension Part I: Introduction to PHP and Zend http://devzone.zend.com/article/1021-Extension-Writing-Part-I-Introductio
·
2015-11-11 19:54
Zend
深入理解
php内核
编写扩展 II:参数、数组和ZVALs
原文:http://devzone.zend.com/article/1022-Extension-Writing-Part-II-Parameters-Arrays-and-ZVALs Part II: Parameters,Arrays, and ZVALs 原文:http://devzone.zend.com/article/1023-Extension-Writing-Part-
·
2015-11-11 19:53
PHP
深入理解
php内核
编写扩展_III- 资源
Part III: Resources 原文:http://devzone.zend.com/article/1024-Extension-Writing-Part-III-Resources 编写扩展_III- 资源 介绍 资源 初始化资源 接收资源作为函数参数 销毁资源 强制销毁资源 持久资源 查找现存的持久资源 核对(代码)完整性 总结 3.1介绍
·
2015-11-11 19:53
PHP
PHP内核
探索之变量(1)Zval
本文是
PHP内核
探索之变量的第一篇,主要介绍zval的基本知识,包括如下几个方面的内容: Zval的基本结构 查看zval的方法:debug_zval_dump和xdebug
·
2015-11-11 17:30
PHP
php在cli和cgi方式下获取服务器ip的实例
php cli方式下获取服务器ip
php内核
没有提供这样的命令,需要借助linux中的命令ifconfig来实现,如下两个函数代码: function getServerIp(){
·
2015-11-11 10:35
PHP
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他