深入php内核,从底层c语言剖析php实现原理
 
这是它的目录:
    1. PHP的生命周期
      1. 让我们从SAPI开始
      2. PHP的启动与终止
      3. PHP的生命周期
      4. 线程安全
      5. 小结
    2. PHP变量在内核中的实现
      1. 变量的类型
      2. 变量的值
      3. 创建PHP变量
      4. 变量的存储方式
      5. 变量的检索
      6. 类型转换
      7. 小结
    3. 内存管理
      1. 内存管理
      2. 引用计数
      3. 总结
    4. 配置编译环境
      1. 编译前的准备
      2. PHP编译前的config配置
      3. Unix/Linux平台下的编译
      4. 在Win32平台上编译PHP
      5. 小结
    5. 第一个扩展
      1. 一个扩展的基本结构
      2. 编译我们的扩展
      3. 静态编译
      4. 编写函数
      5. 小结
    6. 函数的返回值
      1. 一个特殊的参数:return_value
      2. 引用与函数的执行结果
      3. 小结
    7. 函数的参数
      1. zend_parse_parameters
      2. Arg Info 与类型绑定
      3. 小结
    8. Array与HashTable
      1. 数组(C中的)与链表
      2. 操作HashTable的API
      3. 在内核中操作PHP语言中数组
      4. 小结
    9. PHP中的资源类型
      1. 复合类型的数据——资源
      2. Persistent Resources
      3. 资源自有的引用计数
      4. 小结
    10. PHP中的面向对象(一)
      1. zend_class_entry
      2. 定义一个类
      3. 定义一个接口
      4. 类的继承与接口的实现
      5. 小结
    11. PHP中的面向对象(二)
      1. 生成对象的实例与调用方法
      2. 读写对象的属性
      3. 小结
    12. 启动与终止的那点事
      1. 关于生命周期
      2. MINFO与phpinfo
      3. 常量
      4. PHP扩展中的全局变量
      5. PHP语言中的超级全局变量
      6. 小结
    13. ini配置文件
      1. 读写ini配置
      2. 小结
    14. 流式访问
      1. 流的概览
      2. 打开与读写流
      3. Static Stream Operations
      4. 小结
    15. 流的实现
      1. PHP Streams的本质
      2. 流的封装——wrapper
      3. 实现wrapper
      4. Manipulation
      5. 状态与属性读取
      6. 小结
    16. 有趣的流
      1. 流的上下文
      2. 流的过滤器
      3. 小结
    17. 配置和链接
      1. Autoconf
      2. 库的查找
      3. 强制模块依赖
      4. Speaking the Windows Dialect
      5. 小结
    18. 扩展生成器
      1. ext_skel生成器
      2. PECL_Gen生成器
      3. 小结
    19. 设置宿主环境
      1. 嵌入式SAPI
      2. 构建并编译一个宿主应用
      3. 通过嵌入包装重新创建cli
      4. 老技术新用
      5. 小结
    20. 高级嵌入式
      1. 回调到php中
      2. 错误处理
      3. 初始化php
      4. 覆写INI_SYSTEM和INI_PERDIR选项
      5. 捕获输出
      6. 同时扩展和嵌入
      7. 小结

深入php内核,从底层c语言剖析php实现原理的更多相关文章

  1. Linux系统调用怎么和内核或底层驱动交互的

    学习Linux系统下驱动程序开发已有大半年时间,心中一直有个疑惑:那就是诸如open.write.read等系统调用是怎么和内核或底层驱动建立起联系的呢?今天将自己的一些粗略的理解总结如下.      ...

  2. 关于linux内核用纯c语言编写的思考

    在阅读linux2.6 版本内核的虚拟文件系统和驱动子系统的时候,我发现内核纯用c语言编写其实也是有一点不方便,特别是内核中大量存在了对象的概念,比如说文件对象,描述起来使用对象描述,但是对象在c语言 ...

  3. 深入剖析Linux IO原理和几种零拷贝机制的实现

    深入剖析Linux IO原理和几种零拷贝机制的实现 来源 https://zhuanlan.zhihu.com/p/83398714 零壹技术栈      公众号[零壹技术栈] 前言 零拷贝(Zero ...

  4. 全面剖析Redis Cluster原理和应用

    全面剖析Redis Cluster原理和应用 1.Redis Cluster总览 1.1 设计原则和初衷 在官方文档Cluster Spec中,作者详细介绍了Redis集群为什么要设计成现在的样子.最 ...

  5. Linux内核设计(第二周)——操作系统工作原理

    Linux内核设计(第二周)--操作系统工作原理 by苏正生 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/U ...

  6. 大神是如何学习 Go 语言之 Channel 实现原理精要

    转自: https://mp.weixin.qq.com/s/ElzD2dXWeldYkJmVVY6Djw 作者Draveness Go 语言中的管道 Channel 是一个非常有趣的数据结构,作为语 ...

  7. 深入剖析Sgementation fault原理

    深入剖析Sgementation fault原理 前言 我们在日常的编程当中,我们很容易遇到的一个程序崩溃的错误就是segmentation fault,在本篇文章当中将主要分析段错误发生的原因! S ...

  8. 老李推荐:第6章8节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览-小结

    老李推荐:第6章8节<MonkeyRunner源码剖析>Monkey原理分析-事件源-事件源概览-小结   本章我们重点围绕处理网络过来的命令的MonkeySourceNetwork这个事 ...

  9. 老李推荐:第6章7节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览-注入按键事件实例

    老李推荐:第6章7节<MonkeyRunner源码剖析>Monkey原理分析-事件源-事件源概览-注入按键事件实例   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜 ...

随机推荐

  1. win10下多版本apache(2.2,2.4)+php(5.3.5,5.5.37,5.6.25,7.0.8)注意点

    1.Loaded Configuration File 问题: apache2.2 httpd PHPIniDir D:\php5.3.5\php.ini AddType application/x- ...

  2. mysql 更新(-)初始mysql

    01-MySql的前戏   MySql的前戏 在学习Mysql之前,我们先来想一下一开始做的登录注册案例,当时我们把用户的信息保存到一个文件中: #用户名 |密码root|123321 alex|12 ...

  3. RowToColumn

    SELECT S.NAME, sum(decode(S.COURSE,'语文',S.SCORE,0))"语文", sum(decode(S.COURSE,'数学',S.SCORE, ...

  4. centos6.5 64练手安装memcached,PHP调试

    思路  先安装 memcached  然后安装php的基于扩展libmemcache ,然后安装php memcache扩展包,然后把扩展添加到php.ini 1 yum安装 简单方便 yum ins ...

  5. linux装机首先需要关闭的服务

    关闭selinux和iptables:setenforce 0 iptables -Fiptables -t nat -Fsystemctl stop firewalldsystemctl disab ...

  6. 解决打开visio2013提示windows正在配置的问题

    由于之前装过office2007.也装过2010版本.新安装visio2013就会出现如下情况 解决办法: 主要是要清理完visio2010及之前的那些没用选项 1.在cmd命令下打开regedit注 ...

  7. python中index()、find()方法

    index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果st ...

  8. Mybatis知识(2)

    1.#{}和${}的区别是什么? 注:这道题是面试官面试我同事的. 答:${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静 ...

  9. webserive学习记录6-页面请求webservice

    前面都是通过JAVA代码访问webservice服务,下面将介绍通过javascript,jquery访问webservice服务并介绍过过servlet解决跨域问题的方法. 服务端 编写服务代码,解 ...

  10. log4j2搭建记录

    今天新建了一个项目,自己弄的小玩意,想要做的正式点,就想引入日志.就想到了log4j2,经过几个小时的努力,还真的可以用了,下面就记录一下我是怎么做的. 下面是总的结构: 下面是MAVEN依赖: &l ...