PHP连贯接口

Posted on 2011-10-24 09:44 PHP博客 阅读(147) 评论(0)  编辑 收藏 引用 网摘
PHP连贯接口也有它自身的好处,即可以让代码更清晰化,比如Zend的Select类里面,生成一个SQL并执行就是那样的直观:
$db = new Zend_Db(); //这是随便写的,主要是为了显示一下   JAVA的CharSequence接口
$db->select()  
   ->from('tablename')  
   ->where('id = ?' , $id)  
   ->orwhere('name != ?' , $name);  
 
//最后也可以调用一下来生成这个SQL  
$sql = $db->__toString();
自从到了PHP5,$a = new Object() ; $b = $a; 这个$b 直接变成了取址,而不是COPY后,这样的连贯接口比之用数组来实现效率是高上了很多,毕竟相对占用内存会少一点吧?(估计,没有实测过)。
不过,这东西确实也就和AJAX一样,属于老瓶装新酒。以前类里的函数是返回一个值,或者true等等等等,现在是return $this;直接返回自身(不知道这样效率是提升还是下降。),但总体来说,这个还是一个很不错的方法。
连贯接口很简单,写起来也很美,但是却遇到一个棘手的问题,类似ZendStudio,Eclipse之类的IDE似乎并不支持连贯接口的自动提 示?其实结局的方法也很简单,只要像上面的代码注释那样,遵循PHPDoc的代码注释规范,在@return后注明返回的对象类型,这些IDE也同样能实 现自动提示。


只有注册用户登录后才能发表评论。
网站导航:

posts - 139, comments - 0, trackbacks - 0, articles - 0

Copyright © PHP博客