摘要: 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。2、$row[’id’] 的速度是$row[id]的7倍。3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。4、在执行for循环之前确定最大循环数,不要每循环 阅读全文
posted @ 2013-05-02 14:33 hechunhua 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 安全配置一(1) 打开php的安全模式 php的安全模式是个非常重要的内嵌的安全机制,能够控制一些php中的函数,比如system(), 同时把很多文件操作函数进行了权限控制,也不允许对某些关键文件的文件,比如/etc/passwd, 但是默认的php.ini是没有打开安全模式的,我们把它打开: safe_mode = on(2) 用户组安全 当safe_mode打开时,safe_mode_gid被关闭,那么php脚本能够对文件进行访问,而且相同 组的用户也能够对文件进行访问。 建议设置为: safe_mode_gid = off 如果不进行设置,可能我们无法对我们服务器网站... 阅读全文
posted @ 2013-05-02 14:19 hechunhua 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 不知不觉发现PHP已经出到了5.5版本,而自己一直在用PHP5.2,让我看起来像深山出来的小伙子一样,又土又落后。在我习惯在javascript中使用闭包之后,忽然间对PHP的闭包打起了兴趣。于是乎在网上下了个WAMP集成开发环境,是PHP5.3版本的(PHP5.3开始引入了闭包的特性),不得不说WAMP安装使用真的很方便。简单配置了一下,开始动手。匿名函数提到闭包就不得不想起匿名函数,也叫闭包函数(closures),貌似PHP闭包实现主要就是靠它。声明一个匿名函数是这样:复制代码代码如下:$func = function() {}; //带结束符可以看到,匿名函数因为没有名字,如果要使用它 阅读全文
posted @ 2013-05-02 14:18 hechunhua 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 最近在开发一个PHP系统,为了提高系统的扩展性,我想在系统中加入类似Javascript的事件处理机制,例如:我想在一篇新闻被添加以后,我想记录一下日志,用类似Javascript的代码,应该是这样写的:functionfnCallBack($news){//将$news的信息记录到日志中writeLog($news->getTitle().'hasbeenaddedsuccessfully!');}$newsEventManager->addEventListener('add',fnCallBack); 其中,fnCallBack函数是回调函数, 阅读全文
posted @ 2013-05-02 13:48 hechunhua 阅读(425) 评论(1) 推荐(0) 编辑
摘要: 递归的基本概念:程序调用自身的编程技巧称为递归,是函数自己调用自己.一个函数在其定义中直接或间接调用自身的一种方法,它通常把一个大型的复杂的问题转化为一个与原问题相似的规模较小的问题来解决,可以极大的减少代码量.递归的能力在于用有限的语句来定义对象的无限集合.使用递归要注意的有两点:1)递归就是在过程或函数里面调用自身;2)在使用递归时,必须有一个明确的递归结束条件,称为递归出口.递归分为两个阶段:1)递推:把复杂的问题的求解推到比原问题简单一些的问题的求解;2)回归:当获得最简单的情况后,逐步返回,依次得到复杂的解.利用递归可以解决很多问题:如背包问题,汉诺塔问题,...等.斐波那契数列为: 阅读全文
posted @ 2013-05-02 13:20 hechunhua 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 不知不觉发现PHP已经出到了5.5版本,而自己一直在用PHP5.2,让我看起来像深山出来的小伙子一样,又土又落后。在我习惯在javascript中使用闭包之后,忽然间对PHP的闭包打起了兴趣。于是乎在网上下了个WAMP集成开发环境,是PHP5.3版本的(PHP5.3开始引入了闭包的特性),不得不说WAMP安装使用真的很方便。简单配置了一下,开始动手。匿名函数提到闭包就不得不想起匿名函数,也叫闭包函数(closures),貌似PHP闭包实现主要就是靠它。声明一个匿名函数是这样:1$func=function() {23};//带结束符可以看到,匿名函数因为没有名字,如果要使用它,需要将其返回给一 阅读全文
posted @ 2013-05-02 12:59 hechunhua 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 0、用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。2、$row[’id’] 的速度是$row[id]的7倍。3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。4、在执行for循环之前确定最大循环数,不要每 阅读全文
posted @ 2013-05-02 09:22 hechunhua 阅读(139) 评论(0) 推荐(0) 编辑
摘要: include和require区别:先当html编译的,后转换为php模式1、incluce在用到时加载,require在一开始就加载。2、include的文件中出错了,主程序继续往下执行,require的文件出错了,主程序也停了3、require()函数用给定文件的内容取代它本身,这一代替过程发生在PHP引擎编译代码期间,而不是在执行期间进行,它不象include()那样会首先进行计算。require()函数更多地用在静态元素中,而include()更多地用于动态元素中。与include_once()类似的是,require_once()将首先检查是否已经插入给定的代码,如果代码已经存在,就 阅读全文
posted @ 2013-05-02 09:20 hechunhua 阅读(415) 评论(0) 推荐(0) 编辑
摘要: mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面。下面我详细说说它的使用方法1.检测Apache是否支持mod_rewrite通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_mo 阅读全文
posted @ 2013-05-02 09:17 hechunhua 阅读(145) 评论(0) 推荐(0) 编辑
摘要: ------------------------------------------------------------------------方法一------------------------------------------------------------------------------------ls下显示乱码的alias ls='ls --color=tty --show-control-char'------------------------------------------------------------------------方法二----- 阅读全文
posted @ 2013-05-02 09:13 hechunhua 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 第1章 常用还是1.1 特许用法1.1.1 DIRECTORY_SEPARATOR=/;1.1.2 错误提示: throw new Exception('Division by zero.');1.1.3 $var="SELECT * FROM `{$pre}group` ORDER BY gptype DESC,levelnum ASC" :{$pre}是变量,与$pregroup区分开来1.1.4 $_SERVER['HTTP_X_REQUESTED_WITH'] 判断ajax请求.实际上是在向服务器发送异步请求之前,向header中加入 阅读全文
posted @ 2013-05-02 09:12 hechunhua 阅读(1086) 评论(1) 推荐(0) 编辑