简明现代魔法 -> PHP服务器脚本

CodeIgniter的缓存设置

让CI框架的网站更加高效

数据库缓存类允许你把数据库查询结果保存在文本文件中以减少数据库访问。一旦被激活,每一次含有数据库查询的页面被加载时缓存就会自动发生。Codeigniter 支持缓存技术,以达到最快的速度。尽管CI已经相当高效了,但是网页中的动态内容、主机的内存CPU 和数据库读取速度等因素直接影响了网页的加载速度。

发布于 2011-07-25 分类:php

PHP explode()函数源码的理解

看看explode函数是如何工作的

当我们需要将一个数组根据某个字符或字串进行分割成数组的时候,explode()函数很好用,但是你知道explode()是怎么工作的么?截取字串的问题,都会避免不了重新分配空间的消耗,explode也是会分配空间的,毫无疑问。

发布于 2011-07-24 分类:php

CI报Disallowed Key Characters的解决

修改_clean_input_keys()方法

用CI框架时,有时候会遇到这么一个问题,打开网页,只显示 Disallowed Key Characters 错误提示。有人说 url 里有非法字符。但是确定 url 是纯英文的,问题还是出来了。但清空浏览器历史记录和cookies后。 刷新就没问题了。有时候。打开不同的浏览器。有的浏览器会有问题。有的就不会。

发布于 2011-07-23 分类:php

用library简化视图层的布局

为了在Views层能够显示更多丰富的元素

一般在网站的开发过程中,都会有个 template 或是叫 layout 的,它包含了整个网站的外观和布局,一般分为header,content,footer 有的甚至还包括 menu。其中的 content 部分则会随着不同的页面和功能而变化。这样就可以保证网站风格的一致性,也可以减少不少工作量。虽然便捷的 Codeigniter没有提供内置的处理方式,但是我们还是自己扩展的。

发布于 2011-07-19 分类:php

max_execution_time执行时间问题

ini_set('max_execution_time', '0')

php.ini 中缺省的最长执行时间是 30 秒,这是由 php.ini 中的 max_execution_time 变量指定,倘若你有一个需要颇多时间才能完成的工作,例如要发送很多电子邮件给大量收件者,或者要进行繁重的数据分析工作,服务器会在 30 秒后强行中止正在执行的程序,如何解决这个问题呢。

发布于 2011-07-11 分类:php

支持中文的PHP字符串截取函数

一个比较好用的字符串截取函数

字符串截取是一个非常常见的编程任务,而往往带中文的字符串截取会经常用到。虽然不难,但是自己写函数实现又耗费时间,这里介绍一个比较好用的字符串截取函数,能够胜任基本的需求了。

发布于 2011-07-03 分类:php

了解PHP的享元FlyWeight模式

采用一个共享来避免大量拥有相同内容对象的开销

享元模式英文称为“Flyweight Pattern”,我非常感谢将Flyweight Pattern翻译成享元模式的那位强人,因为这个词将这个模式使用的方式明白得表示了出来;如果翻译成为羽量级模式或者蝇量级模式等等,虽然可以含蓄的表现出使用此模式达到的目的,但是还是没有抓住此模式的关键。

发布于 2011-06-30 分类:php

如何修复PHP Undefined index的报错

!empty($_GET['str']) ? $_GET['str'] : null;

用$_GET["xx"]这种形式取得数据时,如果之前不加判断,$_GET["xx"]不存在时会出现这样的警告:PHP Notice: undefined index xxx。 虽然可以通过设置错误显示方式来隐藏这个提示,但是这样也有隐患,就是在服务器的日志中会记录这些提示,导致日志文件异常庞大。

发布于 2011-06-30 分类:php

了解PHP的状态State模式

状态模式和命令模式相当像

状态模式属于对象创建型模式,其意图是允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了他的类。比较常见的例子是在一个表示网络连接的类TCPConnection,一个TCPConnection对象的状态处于若干不同的状态之一:连接已经建立(Established),正在监听,连接已经关闭(closed)。

发布于 2011-06-25 分类:php

了解PHP的代理Proxy模式

代理模式能够在一定程度上降低系统的耦合度

代理,指的就是一个角色代表另一个角色采取行动,就象生活中,一个红酒厂商,是不会直接把红酒零售客户的,都是通过代理来完成他的销售业务。而客户,也不用为了喝红酒而到处找工厂,他只要找到厂商在当地的代理就行了,具体红酒工厂在那里,客户不用关心,代理会帮他处理。代理模式,就是给某一对象提供代理对象,并由代理对象控制具体对象的引用。

发布于 2011-06-21 分类:php

了解PHP的模板Template模式

子类可以使用基类的方法

继承关系由于自身的缺陷,被专家们扣上了“罪恶”的帽子。“使用委派关系代替继承关系”,“尽量使用接口实现而不是抽象类继承”等等专家警告,让我们这些菜鸟对继承“另眼相看”。其实,继承还是有很多自身的优点所在。只是被大家滥用的似乎缺点更加明显了。合理的利用继承关系,还是能对你的系统设计起到很好的作用的。而模板方法模式就是其中的一个使用范例。

发布于 2011-06-19 分类:php

详细了解PHP的.htaccess文件

.htaccess文件提供了针对每个目录改变配置的方法

.htaccess文件提供了针对每个目录改变配置的方法。.htaccess文件(或者"分布式配置文件")提供了针对每个目录改变配置的方法,即在一个特定的目录中放置一个包含指令的文件,其中的指令作用于此目录及其所有子目录。如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。

发布于 2011-06-18 分类:php

关于CI视图View接受数组的问题

如何解析控制器传过来的数组

视图是用户用户能看到你的网站的所有。 他们使用一个统一的接口, 而且可以根据需要进行修改。 MVC 的好处之一是你分开了表示层和逻辑层, 一切都显得很干净。视图实际上是一组包含有你的内容的HTML结构。结构中有各种元素,如颜色,字体,文字布局等; 不过视图不关心这些,它要做的只是取来内容,显示出来。

发布于 2011-06-17 分类:php

了解PHP的命令Command模式

使条件判断语句成为多余

命令模式的核心思想是,带有某个方法的具体类的实例,作为接口传给使用方。对象的具体类型信息消失。在使用方代码中拿到这个接口后调用这个接口的方法。具体的执行效果,取决的命令发起人提供的对象是哪一个实现类的。这给了命令发起人完全的控制能力,而使用方代码不关心具体的命令类和方法。同时也使条件判断语句成为多余。

发布于 2011-06-15 分类:php

去掉CodeIgniter URL中的index.php

更搜索引擎友好的URL形式

CI默认的rewrite url中是类似这样的,例如你的CI根目录是在/CodeIgniter/下,你的下面的二级url就类似这样http://localhost/CodeIgniter/index.php/welcome。不太好看,怎么把其中的index.php取掉呢?在CI的根目录下,即在index.php,system的同级目录下,建立.htaccess。

发布于 2011-06-13 分类:php
 

copyright © 2009 简明现代魔法    学习、分享、进步

power by Gonn 感谢所有关心和支持本站的朋友们