百度首页 | 百度空间
 
查看文章
 
小贴士(不断添加中)
2008年03月04日 星期二 下午 08:31
作者:老王

==============================================

不要直接使用__autoload(),而应该使用spl_autoload_register(),这样可以避免出现命名冲突。

==============================================

尽量使用$_SERVER[‘REQUEST_TIME’](此变量在PHP5.1以上有效),而不是time(),因为time()不仅是一个函数,还涉及一次系统调用。

==============================================

Rowset和Resultset是两个很容易混淆的概念,它们的区别在于得到Rowset后,就得到了所有的数据行,不再需要数据库连接(ZF本身有一个Rowset实现,可以参阅),而得到Resultset后,仅得到了当前数据行,必须保持数据库连接。这样来说,Rowset内存占用要比Resultset大。

==============================================

在常见的MVC框架中,对Controller的组织方式大约有两种:一种是一个Controller里的所有Action都放在一个文件里(如Rails),一种是一个Action一个文件(如Struts),哪种方式更合理一些呢?前者提取公共方法更简单些,后者分离更清晰些。

==============================================

Google的API太强悍了,连绘图都有了:http://code.google.com/apis/chart/,有了这个东西,以后写PHP代码的时候就可以先判断服务器是否装了GD,装了就自己画图,没装就用GoogleAPI来画图,爽歪歪。

==============================================

对数组而言,array_merge和+操作的差别在于array_merge会覆盖同名的键值,而+不会。

==============================================

如果我们使用NuSOAP做一个服务端方法,比如名叫Proxy.readServices,这就表示我们有一个名为Proxy的类,通过实例化Proxy来调用其中的readServices方法。当我们使用PHP5内建的SOAP扩展去调用这个方法的时候,要注意不能使用下面的形式:

$client = new SoapClient('some.wsdl');
$result = $client->SomeFunction('param');

这是因为NuSOAP要求的对象方法名比较变态,如果直接用就成了:

$client = new SoapClient('some.wsdl');
$result = $client->Proxy.readServices('param');

这样的代码明显是一种语法错误,取而代之的,应该使用__soapCall方法:

$client = new SoapClient('some.wsdl');
$client->__soapCall('Proxy.readServices', array('param'));

==============================================

mysql_query和pg_query,这两个方法的行为方式一致么?答案是否定的,虽然他们都是简单的返回数据库的查询资源,但是mysql_query的处理方式很独特,它会把查询的结果集完整的缓存到PHP端,而pg_query则不是。具体请查阅mysql_query和mysql_unbuffered_query在文档中的描述。

==============================================

类别:Php | 添加到搜藏 | 浏览() | 评论 (5)
 
最近读者:
 
网友评论:
1
2008年03月05日 星期三 上午 09:14
嗯,关注并学习。__autoload不是用一次就KO了?
 
2
2008年03月05日 星期三 下午 12:08
To t4o0:你的PHP程序里可能用到很多不同的lib,他们可能都定义了自己的__autoload实现,而你自己的代码如果直接定义使用__autoload的话,肯定就造成冲突了。
 
3
2008年03月05日 星期三 下午 12:50
学习了,呵呵
 
4
2008年03月05日 星期三 下午 05:18
一个Action一个文件,在PHP开发的MVC框架中似乎没见过。
 
5
2008年05月08日 星期四 下午 01:30
应该使用spl_autoload_register()
zf当中已经替换成spl的了.

action单独文件?难道可以应用到多个controller当中?
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码:
 

     

©2008 Baidu