Press "Enter" to skip to content

深入理解PHP原理之foreach

foreach是PHP中很常用的一个用作数组循环的控制语句。
因为它的方便和易用,自然也就在后端隐藏着很复杂的具体实现方式:(对用户透明)
今天,我们就来一起分析分析,foreach是如何实现数组(对象)的遍历的。
本节内容涉及到较多编译原理(lex and yacc)的知识,所以如果您觉得看不太懂,可以先找相关的资料看看。

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

让人无语的139邮箱

经常接到短信, 说是139邮箱怎么地怎么地,今天忍不住上去看了下。。

1. 在chrome下,根本无法使用

2. 在firefox下, 也根本没法使用

3. 在IE8下,js错误报告一堆

唉,这么大的个垄断企业, 怎么做的东西老是这么烂呢? 再说了,要做好这么个玩意,又用不了多大的技术。。
说不准,又是花了大笔的钱,最后是倒来倒去,外包给几个大学生做的。。。

气人….

Filed in PHP应用
with 15 Comments

看"付钱Google中国也不会增加搜索结果"

一直以来,很喜欢开复兄. 然最近的逃税风波, 和这次的举动,让我颇为失望,,,唉

我们都知道,每个搜索引擎都有自己的一套排名算法, 就好比google有自己的,google rank, 比如本博也不过是2/10,
而这个rank的算法, 既是人为定的,是有人的因素决定的.

虽然说,不增加不删除也许是对的,但是要说绝不人为干预和改变,并且还如此大张旗鼓的在这个时期站出来说这样的话, 让我想起”范跑跑”和”郭跳跳”…

开复,在我心中,已经慢慢褪去了当初那完美的光环

Filed in 随笔
with 8 Comments

统一信息存储平台(ISP)

  是否因为需求经常变动,而导致你需要频繁修改数据库结构呢? 是否经常的数据库结构的调整,导致你的数据库性能极度下降呢? 基于这样的考虑, 我设计了ISP, 我的出发点就是, 将数据库的数据逻辑剥离出来,数据库单纯就是存储数据,而数据之间的逻辑关系,提出来交由脚本逻辑完成。 并且在设计数据库的时候, 本着适应多种数据存储要求,而设计出可定制的表结构,和适应定制化的接口。

Filed in MySQL/PostgreSQL, PHP应用
with 13 Comments

深入理解PHP原理之文件上传

今天研究PHP注册POST/GET大变量的时候,看到了关于这块的一些东西,跟踪了半天,,先记录下来,免得以后再如此麻烦的跟踪

处理器注册:

   [mod_php5.c, mod_php5模块初始化] php_init_handler(server_rec *s, pool *p)
	->[main/SAPI.c]sapi_startup(&apache_sapi_module)
		->[main/SAPI.c] sapi_globals_ctor(&sapi_globals)
			->[main/php_content_types.c]php_setup_sapi_content_types(TSRMLS_C)
				->[main/php_content_types.c php_post_entries如下]sapi_register_post_entries(php_post_entries TSRMLS_CC)
					->[main/SAPI.c]sapi_register_post_entry(p TSRMLS_CC)

…..

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

PHP的GET/POST等大变量生成过程

主要探讨了PHP的大变量的生成过程。另外如果你注意到, 当在表单中提交的input的name中如果有点号的时候, 在PHP中会自动把点号处理成下划线。并且你很想知道这是为什么,在什么时候发生的? 呵呵,本文也就这个问题做了回答。
首先明确一个问题,PHP的变量名中是不能包含点号的。 但是为了处理表单中的点号命名,PHP就会自动把点号(.)转换成下划线(_) ……….

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