msgbartop
PHP语言, PHP扩展, Zend引擎相关的研究,技术,新闻分享 – 左手代码 右手诗
msgbarbottom

19 Sep 11 PHP的版本发布历程

整理了一下, PHP的进化历程, 原文在这里: https://wiki.php.net/internals/module_api_no

13 Sep 11 关于做PHP扩展开发的一些资源

最近有个感觉, 越来越多的人开始从事PHP扩展开发的工作(越来越多的人来问问题了, 呵呵)

在这里先说声抱歉, 有的时候, 有的同学的邮件进了垃圾邮件没有办法及时回复.

为了方便大家, 我在这里罗列一些可能用到的资源.

04 Aug 11 Plua进入Pecl

一个月以前, 我开发了一个php扩展( PLua – Lua for PHP ), 支持在PHP中调用Lua脚本

后续, 发现在pecl中有一个类似的扩展, lua

在和lua的作者johannes, Andreas讨论过以后, 我们一致认为, 应该只保留一个lua扩展.

考虑到Plua的设计更加符合PHP思维习惯, 功能上也比lua要更加丰富, 大家就一致决定把plua作为新的lua标准扩展, 当然plua也会借鉴lua现在的一些优点.

目前plua已经整合到pecl lua的svn中, 等和johannes确认以后, 就会发布release: Lua

14 Jul 11 Zend引擎的优化

在PHP 5.4的更新list上, 有一句: 提升了Zend引擎的性能, 减少了内存占用.

那么, 到底是怎么提升的呢?

13 Jul 11 PHP RFC: 让PHP的foreach支持list

上个月, 终于算加入了PHP developer team, 一直以来最大的障碍就是语言, 现在想起来, 当年真应该更加认真努力的去学习英语.

得到的第一个任务是: 解决一个feature request, 请求在allow foreach($array as list($a,$b)

大意是说, 希望PHP能支持如下语法:

<?php
foreach (array(array(24,2333), array(31,4666)) as $k => list($a, $b)) {
    printf("key:%s, a=>%s, b=>%s\n", $k, $a, $b);
}
/** output:
key:0, a=>24, b=>2333
key:1, a=>31, b=>4666
*/

实现这个功能, 入手点就是去改写PHP的语法分析逻辑, 具体的实现我会再后面附上对PHP5.4的patch.

02 Jul 11 Zend Parameters Parser新增类型描述符介绍

从PHP5.3开始, zend_parse_paramters_*函数新增了如下几个新的类型描述符:

f  - function or array containing php method call info (returned as
      zend_fcall_info and zend_fcall_info_cache)
H  - array or HASH_OF(object) (returned as HashTable*)
L  - long, limits out-of-range numbers to LONG_MAX/LONG_MIN (long)
Z  - the actual zval (zval**)
*  - variable arguments list (0 or more)
+  - variable arguments list (1 or more)

这也使得我们做扩展开发的时候, 能更加轻松的处理输入参数, 得到想要的值.

23 Jun 11 如何调试PHP的Core之获取基本信息

其实一直想写这个系列, 但是一想到这个话题的宽泛性, 我就有点感觉无法组织.

今天我也不打算全部讲如何调试一个PHP的Core文件, 也不会介绍什么是Coredump, 选择一个相对比较简单的方向来介绍, 那就是如何从PHP的Core文件中获取一些对我们重演这个Core有帮助的信息.

19 Jun 11 PLua – Lua for PHP

上周的时候, 搞mysql proxy, 发现要用lua写服务器脚本, 加之以前配置lighttpd的时候, 配置也可以用lua来写, 就想彻底学习和研究下lua.

本着学习Lua的态度, 写了一个PHP扩展Plua, 把Lua解析器嵌入了PHP.

Lua的堆栈式传参, 很值得借鉴, 这点上, 感觉比PHP用一个结构体表示弱类型, 要来的更严格, 更可靠一些.

目前可以想到的应用场景, 是可以实现一种编写(Lua), 多处调用(C, PHP, Java等).

不废话了, 项目主页: Plua

代码在Google code上:http://code.google.com/p/plua/

31 May 11 在中国PHP技术高峰论坛(2011)上演讲的PPT

本来觉得PPT里没什么东西, 犯不着放出来, 不是内容不丰富哈, 主要都是现场讲的内容.

不过, 既然有人要, 那就放到blog吧, 也当做留个念想.

总体来说, 这次峰会上, 我介绍了Ap(一个PHP扩展编写的PHP框架, 感兴趣的朋友可以看:Yaf-A PHP Framework Extension)在百度的应用.

29 Mar 11 深入理解PHP原理之Session Gc的一个小概率Notice

如果在ubuntu/Debian下, 采用apt安装的PHP, 那么在使用Session的时候, 就可能会有小概率遇到这个提示.

PHP Notice: session_start(): ps_files_cleanup_dir:
   opendir(/var/lib/php5) failed: Permission denied (13)
   in /home/laruence/www/htdocs/index.php on line 22

Pages:  1 2 3 4 5 6 7 8 ...12 13 14