上周和 刘志强同学 讨论字符串的连接操作: 一般情况下我们用点号做字符串的连接操作,但是如果在某个长字符串中放一个变量,通常我们会采用在字符串中直接写入一个变量的方式来实现 $var = 10; $str = "test string begin " . $var . " end"; //或 $var = 10; $str = "test string be…
当我们以WEB的方式运行PHP脚本时,默认情况下,即使你关闭当前页面,程序也会继续执行,直接程序结束或超时。如果我们想在用户关闭页面或点击了停止页面运行时就中断程序,我们需要做些什么呢?上周和小毅同学讨论了这个问题,从而也引出了今天我们这篇文章。 我们知道HTTP协议是基于TCP/IP协议,对于一个PHP页面的请求就是一个HTTP请求(假设我们是Apache…
上次 reeze 提到similar_text函数,这个真心没用过。 在手册上查找其说明如下: similar_text — 计算两个字符串的相似度 int similar_text ( string $first , string $second [, float &$percent ] ) $first 必需。规定要比较的第一个字符串。 $second …
某位哥哥因为看着wordpress3.3的升级提示激动了,一不小心就将它升级了,升级后一切正常,只是之前可用的附件上传功能现在不能用了,显示报错如下: Warning: touch() [function.touch]: SAFE MODE Restriction in effect. The script whose uid is 10041 is not…
使用说明: 本文需要读者对C语言有一定的基础,对于re2c和bison有一些了解,最好也熟悉linux命令 我们在前面介绍了 PHP的语法分析器-Bison入门 和 PHP的词法解析器:re2c ,那么如何将re2c与bison集成在一起的呢? 我们以一个从PHP源码中剥离出来的示例来说明整个过程。这个示例的功能与词法分析器的示例类似,作用都是识别输入参数中…
Bison是一种通用目的的分析器生成器。它将LALR(1)上下文无关文法的描述转化成分析该文法的C程序。 使用它可以生成解释器,编译器,协议实现等多种程序。 Bison向上兼容Yacc,所有书写正确的Yacc语法都应该可以不加修改地在Bison下工作。 它不但与Yacc兼容还具有许多Yacc不具备的特性。 Bison分析器文件是定义了名为yyparse并且实…
re2c 是一个扫描器制作工具,可以创建非常快速灵活的扫描器。它可以产生高效代码,基于C语言,可以支持C/C++代码。 与其它类似的扫描器不同,它偏重于为正则表达式产生高效代码(和他的名字一样)。因此,这比传统的词法分析器有更广泛的应用范围。 你可以在 sourceforge.net 获取源码。 PHP在最开始的词法解析器是使用的是flex,后来PHP的改为…
在PHP5之前,各个PHP框架如果要实现类的自动加载,一般都是按照某种约定自己实现一个遍历目录,自动加载所有符合约定规则的文件的类或函数。 当然,PHP5之前对面向对象的支持并不是太好,类的使用也没有现在频繁。 在PHP5后,当加载PHP类时,如果类所在文件没有被包含进来,或者类名出错,Zend引擎会自动调用__autoload 函数。此函数需要用户自己实现…