Press "Enter" to skip to content

深入理解PHP原理之foreach

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

Filed in PHP应用, PHP源码分析
with 0 Comment

让人无语的139邮箱

经常接到短信, 说是139邮箱怎么地怎么地,今天忍不住上去看了下。。
1. 在chrome下,根本无法使用
2. 在firefox下, 也根本没法使用
3. 在IE8下,js错误报告一堆
唉,这么大的个垄断企业, 怎么做的东西老是这么烂呢? 再说了,要做好这么个玩意,又用不了多大的技术。。
说不准,又是花了大笔的钱,最后是倒来倒去,外包给几个大学生做的。。。
气人....

Filed in PHP应用
with 16 Comments

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

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

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

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

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

Filed in 随笔
with 0 Comment

统一信息存储平台(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 19 Comments

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

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

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