Press "Enter" to skip to content

241 search results for "php"

PHP4中模拟类的析构函数

最近做的一个项目是基于PHP4的, 习惯了PHP5的面对对象,面对PHP4,难免会有很多不爽:
不支持public, static, private, protected关键字, 最郁闷的是,不支持析构函数:
本文就将借助PHP的register_shutdown_function来在PHP4中模拟类的析构函数

Filed in PHP应用
with 16 Comments

PHP5多层继承顺序的bug

今天guoxiaod提出了一个问题,如下:

<?php
class a extends b {
};
class b extends c{
};
class c{
};
?>
  

会导致fatal error:

PHP Fatal error:  Class 'b' not found in /home/xinchen/1.php on line 2
Fatal error: Class 'b' not found in /home/xinchen/1.php on line 2

分析这个问题,是运行阶段出错,经过分析PHP的编译,执行过程,得出如下的parsing顺序...

Filed in Linux/Unix, PHP应用, PHP源码分析
with 13 Comments

深入理解PHP原理之变量(Variables inside PHP)

或许你知道,或许你不知道,PHP是一个弱类型,动态的脚本语言。所谓弱类型,就是说PHP并不严格验证变量类型(严格来讲,PHP是一个中强类型语言,这部分内容会在以后的文章中叙述),在申明一个变量的时候,并不需要显示指明它保存的数据的类型。而PHP的核心ZE是用C编写的,大家都知道C是一个强类型语言,也就是说,在C中所有的变量在它被声明到最终销毁,都只能保存一种类型的数据。 那么PHP是如何在ZE的基础上实现弱类型的呢?且听我慢慢道来....

Filed in PHP应用, PHP源码分析
with 45 Comments

PHP的老式语法

因为我的blog使用的wordpress,所以不可避免的看了看wp的源码,发现了一些很老式的语法,呵呵,难到wp的工程师都是老phper了?
if...endif:

if(con):
  expr;
elseif(con):
  expr;
else:
  expr;
endif;

while ... endwhile;

while (con):
   ...
endwhile;

还有就是最近遇到了以前遇到过的一个问题, 就是如果自定义的404错误页面大小过小(512字节), IE会认为是不友好的错误页面,从而使用内建的自己的错误页面代替,唉,自作聪明的IE;

Filed in 随笔
with 8 Comments

扩展PHP[Extending PHP](一)

这篇文章将会系统的介绍如何开发自己的PHP扩展, 也许你会说,网上这样的文章已经很多了,为什么还要写? 呵呵,我当然不会只是简单的重复。 这篇文章将会涉及到很多的高级技术,比如在自己的扩展中使用资源,开发一个类给脚本使用,在PHP中使用C++的对象等等,另外这篇文章还会穿插很多Zend引擎和PHP内核的知识,比如变量的实现,资源的实现,PHP4和PHP5对类的不同实现等等

Filed in PHP应用, PHP源码分析
with 24 Comments

PHP Life Cycle演讲幻灯片(PHP Life Cycle Slides)

作为一个PHPer,你知道你的代码最终是怎么样被执行的么?
你知道从一个请求的发起,到最后的得到结果,经过了那些步骤么?
你知道Zend虚拟机是什么么?
你知道PHP是怎么和Apache整合的么?
呵呵,我来解答:
这是我上次给同事们做演讲的时候的PPT, 具体演讲内容等我回头整理了再放上来。
点击查看 PHP Life Cycle

Filed in PHP应用, PHP源码分析
with 28 Comments

PHP 源代码分析 V0.0.2

做为我以后乱写的一个指导方针。呵呵
PHP 源代码分析目录
1. 第一章 构建系统 准备工具、库及需要具备的基础知识;
2. 如何编译不同平台的版本?编译时的各个选项是什么含义?
3. 如何创建一个 PHP 扩展/模块?如何创建一个 Zend 扩展?
4. 如何调试 PHP?如何调试 PHP/Zend 扩展?
1. 第二章 PHP 与 SAPI 的生命周期 脚本的运行周期
2. 模块/脚本的起始与终止函数; ...

Filed in PHP Extension, PHP源码分析
with 24 Comments

Can't find what you're looking for? Try refining your search: