手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表分类:PHP

Smarty的一些常用方法

网上流传的大师兄教程确实给了我们很多方便,只是大师兄教程却不是很全面。或许他给很多设计师们带来了福音,但对程序开发人员来说,并没有什么特别的高深之处。

不过,我还是挺佩服他的,毕竟,他将自己的思想和实现方法提供出来,如果每个人都这样,或许,我们能够再进步一些。呵呵

在工作,仍然是在使用着smarty,也在开发中积累了一点点的心得,逐步写出来,与大家共同分享,当然应该会存有错误,与大家一起改进。

smarty在使用时是需要配置的,最简单的配置方法就是将基本的变量写成一个数组,然后new Smarty之后,foreach一下,由$smarty自行加载,如:

---------------------------------------------

辛苦写了半天,结果超时了。下次补上,今天没时间了。

观察者模式(感谢mpeg提供源码)

  代码深入到一定程度,就不可避免的碰到设计模式(design pattern)这一概念,了解设计模式,将使自己对程序中的接口或抽象类应用有更深的理解.设计模式在大中型系统中应用十分广泛,遵循了一定的编程模式,可以使代码便于理解,易于交流,而Observer(观察者)模式则是比较常用的一个模式,它尤其在界面设计、LOG处理中应用广泛。

代码请看全文

» 阅读全文

Tags: 模式

策略模式(感谢mpeg提供代码)

Strategy策略模式是属于设计模式中 对象行为型模式,主要是定义一系列的算法,把这些算法一个个封装成单独的类.

Stratrgy应用比较广泛,比如, 公司经营业务变化图, 可能有两种实现方式,一个是线条曲线,一个是框图(bar),这是两种算法,可以使用Strategy实现.

实际整个Strategy的核心部分就是抽象类的使用,使用Strategy模式可以在用户需要变化时,修改量很少,而且快速.

Strategy和Factory有一定的类似,Strategy相对简单容易理解,并且可以在运行时刻自由切换。Factory重点是用来创建对象。

Strategy适合下列场合:

1.以不同的格式保存文件;

2.以不同的算法压缩文件;

3.以不同的算法截获图象;

4.以不同的格式输出同样数据的图形,比如曲线 或框图bar等

代码请看详细内容......

» 阅读全文

Tags: 模式

为windows下面的PHP添加sqlite功能

PHP4现在咱就不提了,毕竟现在是5的时代。

个人而言,不用LINUX,不是说LINUX不好,而是我不太熟悉,如果需要远程的话,对我太痛苦。因此我选择了windows。

在windows下面配置apache和iis都是一样的方便。。。。

添加sqlite功能原来以为很简单,毕竟从PHP5开始,SQLITE就变成内置功能了,然而直接在php.ini里把extension=php_sqlite.dll前的分号去掉时,运行程序的时候提示我php_sqlite.dll没有被加载,确实让我很郁闷。

查阅一下google发现一个很无耻的事情,原来。。。如果直接要使用sqlite功能,必须先加载pdo.dll和pdo_sqlite.dll,只有先加载这两个DLL,才能使php_sqlite.dll被成功加载。

感谢:http://x.discuz.net/405175/viewspace-26726.html,让我找到了这个解决方案。开始我死活运行不了。。。看来我还是接触的少啊。

Tags: sqlite, 安装, 疑问

妖异的PHP BUG:basename

从PHP3开始。basename就存在于PHP之中,功能嘛。不用说了,就是用来取文件名。至于它不支持中文这点我也不谈了。问题是在PHP5.0.5这个环境里,居然有的时候会没有返回值。实在是太妖了。

由于在写的函数里,文件名是basename('/aaa/bbb/ccc')这样取出ccc后,再设定名称为:ccc.php,结果include的时候,偶尔会抛出异常:加载 .php无效 ,一直以为是代码写的有问题,没料到。。。竟然是basename偶尔不返回值?

到bugs.php.net看了一下,没有这个BUG,我也实在没有办法确认它到底是和服务器有关呢?还是纯粹就是这么一个BUG,现在我换成pathinfo来处理了,利用pathinfo来得到值,最后再组合成文件名称。