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

Yii自定义控制器

如果你的项目中有控制器需要共用,其实只需要在config/main.php中加入一小段代码即可实现:

XML/HTML代码
  1. 'controllerMap'=>array(  
  2.     'xxx'=>'ext.XxxController'  
  3. ),  

然后就可以直接调用了:index.php?r=xxx/index,即可以调用XxxController类中的activeIndex方法

这种适合在什么情况下呢?比如统一的出错处理类,这个就相对会比较方便,因为这样的代码会几乎一样。还有那种工具控制器,比如将数据导出成xls,可以写一个XlsController来处理它。

这样的控制器,一般来说适合用于不经权限控制的情况。

php手册说了,再多的Gcd也只能返回一个

php手册里有一个函数叫做substr_count,是用来计算一个字符串在指定的字符串中出现的次数。

http://www.php.net/manual/en/function.substr-count.php
  1. <?php  
  2. $text = 'This is a test';  
  3. echo strlen($text); // 14  
  4.   
  5. echo substr_count($text'is'); // 2  
  6.   
  7. // the string is reduced to 's is a test', so it prints 1  
  8. echo substr_count($text'is', 3);  
  9.   
  10. // the text is reduced to 's i', so it prints 0  
  11. echo substr_count($text'is', 3, 3);  
  12.   
  13. // generates a warning because 5+10 > 14  
  14. echo substr_count($text'is', 5, 10);  
  15.   
  16.   
  17. // prints only 1, because it doesn't count overlapped substrings  
  18. $text2 = 'gcdgcdgcd'; 
  19. echo substr_count($text2, 'gcdgcd');  
  20. ?>  

最后一个例子很深刻的说明了,就算字符串重复再多,但是真要显示的话,也只显示一次,不重复计算。

yiilog.com

YiiLog.com近日起即将启用。
之所以注册这个域名,是因为使用Yii来,用它开发了不少的东西,也积累了一些代码
有部分代码不能公开,也有收集、收藏了别人的一些代码(基于Yii的)。
嗯。也有一些API也会用YiiLog来发布。

api.YiiLog.com,将是用来对外发布服务的。(该服务将会使用SAE平台,因为速度会更快一点)
YiiLog.com主站还是会扔在这台VPS上。慢就慢一点,但毕竟是自己可控制的

Tags: yii

xcache 发布3.0版本

xcache也开始追求版本号了?
1.x的时候几年都没变。2.01刚发布3个月立刻就是3.0了?
虽然官网上说这是一个里程碑式的更新,但谁能说的清?

更新倒是不少:

API Changes
========
 * chg: proto array xcache_clear_cache(int type, [ int id = -1 ]). -1 means all cache splits
 * new: proto array xcache_enable_cache(int type, [ int id = -1, [ bool enable = true ] ])
 * new: proto array xcache_admin_namespace()
 * new: proto array xcache_set_namespace(string namespace)

Ini Settings Changes
========
 * new: xcache.disable_on_crash = Off
 * new: xcache.coverager_autostart = On
 * new: xcache.allocator = bestfit (no other option value yet)
 * new: xcache.var_allocator = bestfit (no other option value yet)

ChangeLog
========
 * closes #2: auto disable caching on crash
 * closes #73: warn for improper PHP_FCGI_CHILDREN setting fcgi mode (>=PHP_5_3)
 * closes #174: updates api to support "clear all cache"
 * closes #198: support for caching protocol url
 * closes #287: namespace support
 * fixes #39: ini_set never work for xcache.coverager setting. use API instead
 * code refactor
   * uses extension= to load XCache. loading via zend_extension= is unsupported
   * split XCache features into multiple sub modules
 * updates XCache admin page
 * adds an diagnosis module to give professional advise, accessable via htdocs pages
 * cache can be enabled/disabled manually

反正,他们自我评价挺高的:XCache 3.0.0 released. Lots of improvements, bug fixes. This is a big new milestone refactoring most XCache code.

在首页的下载里面还写着:
2.1.x, unstable, devel, features
结果,3.0都Release了。。。
这年头。。。还能怎么办?

Tags: xcache

针对品鉴网的一些URL路由设置

这篇文章又能当成开发文档,也能当成软文,所以,你们就将就着看吧。

yii框架中很早就支持路由功能了。所以,从那时候开始,很多人就开始将项目路由化,举例说明:
http://user.pinjian.net,访问用户中心
http://admin.pinjian.net 访问后台
http://xxxx.pinjian.net 访问Xxx
表面上这是一大堆 网站,其实很有可能是什么?只是一个控制器或者一个module罢了。
http://user.pinjian.net可能对应了什么?http://pinjian.net/user/index,很有可能就这样而已。
而对于yii来说,这个太简单了
在main.php(环境 变量设置中),针对urlManager的rules加入:

PHP代码
  1. 'urlManager' => array(  
  2.     'urlFormat' => 'path',  
  3.     'showScriptName'=>false,  
  4.     'rules' => array(  
  5.         'http://photo.pinjian.net/<action:\w+>'=>'image/<action>',  
  6.         '<controller:\w+>/<id:\d+>' => '<controller>/view',  
  7.         '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',  
  8.         '<controller:\w+>/<action:\w+>' => '<controller>/<action>',  
  9.     ),  
  10. ),  

看看高亮的那一行,是不是很简单?
之前,有一篇博客介绍过的:http://www.neatstudio.com/show-1550-1.shtml,还篇比较详细

Tags: yii