Submitted by gouki on 2012, April 18, 5:08 PM
Yii的behavior用起来是十分方便的,官方的文档也很多,我不多嘴一一解释,我只说一些简单的用法
如果你看过PHP5.4,你应该知道5.4多了个新功能traits。
那你可以对着手册看了,你就当yii的behavior就是5.4的traits。
在任何基于CComponents类扩展的类里,都可以用attachBehavior来附加一个行为,这就象5.4的在类里面 use traits类一样
附加行为后,直接可以$this->行为中的方法,嗯,这个与traits也一样。
好吧,来个简单的例子:
PHP traits
- <?php
- class Base {
- public function sayHello() {
- echo 'Hello ';
- }
- }
-
- trait SayWorld {
- public function sayHello() {
- parent::sayHello();
- echo 'World!';
- }
- }
-
- class MyHelloWorld extends Base {
- use SayWorld;
- }
-
- $o = new MyHelloWorld();
- $o->sayHello();
- ?>
Yii的用法:
PHP代码
- <?php
- class xxx extends CBehavior
- {
- public function show(){
- echo "show";
- }
- }
-
- class test extends CComponents
- {
- public function hello(){
- $this->attachBehavior('唯一标记符',"xxx");
- $this->show();
- }
- }
看看,是不是用法一样?不过这样也带来一个问题。。。TMD,没法在IDE里面自动识别了。
好吧,只能这样折腾自己了。。忍忍。
Tags: yii, behavior
PHP | 评论:1
| 阅读:21165
Submitted by gouki on 2012, April 16, 1:24 PM
freetds连接sqlserver是没问题,在连接的时候dsn用的是dblib,而不是mssql。
连接和普通的查询都没有问题,但一旦涉及到大字段,你就会发现问题多多了。比如你的字段类型是nvarchar(max),你在处理的时候你会发现,返回结果都是空。
我晶啊。看来php连接sqlserver还是用windows自己的方案吧:sqlsrv这个组件,但它只能在windows下面使用。
太纠结了
Tags: freetds, sqlserver, 大字段
PHP | 评论:1
| 阅读:17210
Submitted by gouki on 2012, April 12, 11:37 PM
时隔一年多,APC终于又更新了,这次更新最大的就是支持PHP5.4:
- Add PHP 5.4 support (Dmitry, Anatoliy, Pierre)
- Fixed bug #22679: Fix apc_bin_dump for constants. Use IS_CONSTANT_TYPE_MASK to handle all the constants, including the unqalified ones (instead of ~IS_CONSTANT_INDEX check)
- Fixed bug #23822, php crashes on apache restart
下载地址在这里:
http://pecl.php.net/package/APC
配置完后还得加入这些信息:
这样就差不多OK了
Tags: php, apc, eacceraltra, xcache
PHP | 评论:0
| 阅读:22857
Submitted by gouki on 2012, April 8, 11:43 AM
一个小正则,可以删除 多行注释:/\*[\S\s]+?(?=\*/)\*/
很简单,就这么一个正则,自己做一个备份。
Tags: 正则
PHP | 评论:0
| 阅读:15912
Submitted by gouki on 2012, April 6, 7:25 PM
不清楚这些博客是否还会连载,要知道连载这东西真的很耗精力,如果编辑器不好、如果不能自动保存,真的很可能是会失去连载的信息的。事实上,我就是因为这些问题放弃了一些文章的连载。辛苦写了上千字,结果因为编辑器的问题一下子消失了。
再过一段时间,我还是会准备将博客转换到typecho或者wordpress上,毕竟这两个博客软件都是可以支持xmlrpc来投稿的。这样,我就可以用第三方软件来投稿了。(firefox有插件,黑黑)
上链接了,不然会被人骂:(如果有更新,我这里也会同步更新链接,或者你就直接移步该作者的博客吧)
- PHP __autoload()方法真的影响性能吗?
- PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
- PHP 杂谈《重构-改善既有代码的设计》之二 对象之间搬移特性
- PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据
- PHP 杂谈《重构-改善既有代码的设计》之四 简化条件表达式
暂时只有5篇关于PHP的,这还有一篇对话也可以看看:PHP 跟老大的对话。
因为其中这一段可以拿来共勉:
XML/HTML代码
- 题外话:曾经我在离开一家工作一年的公司的时候!项目经理就跟我说你如果频繁跳槽,会对你的将来的发展是不利的,但是没有告诉我怎么不利?现在我有点明白了,因为我到过的公司很多技术过硬的人,都是在这个公司带过3年以上的人。我发现如果你在一家公司待很长时间,对你的技术提升是很有帮助的。
- 1》 不停的重构代码,提升你的代码质量。
- 我们开始进入公司的时候,一般都是公司急需赶个项目人手缺乏。等项目完成,一般都是1年左右。如果你在公司待足够长的时间,这个项目多多少少会跟你扯上边的,这时候,你会不停的翻看自己的代码,你也会不断的调整代码, 不断的重构你的代码——跟写文章一眼,你不停的看自己写过的文章,你会不停的做修改,越修改你的文章会越让你喜欢。
- 2》业务熟悉,能够更快更好的写出代码!——我个人比较喜欢“行云流水”似的感觉。
- 你如果在一个公司待了很长一段时间,那么你对这个领域是非常熟悉的。新需求上来,你会很快的知道怎么做代码架构,比如上面提到的,你就知道方法中,哪些代码部分可以抽出来,独立做成一个方法;你也会知道,将来什么地方会频繁修改的。——写代码,如行云流水般!
当然不一定就很有道理,但也不是完全没有道理
PHP | 评论:4
| 阅读:20961