如果你的项目中有控制器需要共用,其实只需要在config/main.php中加入一小段代码即可实现:
XML/HTML代码
- 'controllerMap'=>array(
- 'xxx'=>'ext.XxxController'
- ),
然后就可以直接调用了:index.php?r=xxx/index,即可以调用XxxController类中的activeIndex方法
这种适合在什么情况下呢?比如统一的出错处理类,这个就相对会比较方便,因为这样的代码会几乎一样。还有那种工具控制器,比如将数据导出成xls,可以写一个XlsController来处理它。
这样的控制器,一般来说适合用于不经权限控制的情况。
众所周知,crontab的最小粒度是分,即当第一位是“*/1”时,即最小单位是每分钟执行。
但是,有时候我们要按秒执行,当然这是比较夸张的了,但每半分钟执行一次还是有可能的,这时候就没有办法了,所以后 来 找啊找,就找到了一篇说明:
XML/HTML代码
- */1 * * * * sh /root/cron.sh
- */1 * * * * sleep 30 && sh /root/cron.sh
执行的时候先sleep 30秒,变相的达到每半分钟执行此命令,果然很变态
windows下面也有模拟crontab的软件,如crontabs,pycrontab等,都是注册成一个服务,然后再执行,但是没有一个软件是比较好用的。总有小问题。
风雪之隅的博客现在也越来越被很多人知道了,当然这与他加入了php的开发组也有关系。这不,开始内爆了。
前两天我在纠正关于json_decode的问题时,看了一下在线手册,才发现json_decode有了第四个可选参数,把BIG_INT当成STRING来处理。
当然看json_decode的时候里面的参数介绍的不多。这不,昨天雪候鸟更新了N多博客,里面就介绍了两篇与JSON相关的东西:
1、让Json更懂中文(JSON_UNESCAPED_UNICODE)
2、JsonSerializable接口
其中第1篇就是我说的BIG_INT相关的那些附加参数,他这么说了:
XML/HTML代码
- 怎么样, 是不是让大家很开心的改动? 呵呵, 当然, Json在5.4还加入了: JSON_BIGINT_AS_STRING, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES等选项, 如果有兴趣, 大家可以参看: json_encode
所以,比如让中文输出的时候不要变成\uxxxx这种格式就只需要这样:
PHP代码
- <?php
- echo json_encode("中文", JSON_UNESCAPED_UNICODE);
- ,如果没加这个参数,以前输出是:
然后JSONSerialize,则是有点象serialize了,但是只针对数据输出,而不是象serialize可以把整个对象序列化。。有点象这样:
PHP代码
- <?php
- class JsonTest implements JsonSerializable { //看一下这里
- private $a, $b;
-
- public function __construct($a, $b) {
- $this->a = $a;
- $this->b = $b;
- }
-
- public function jsonSerialize() { //也就是说这里要主动实现
- return $this->a + $this->b;
- }
- }
-
- echo json_encode(new JsonTest(23, 42));
- ?>
-
-
在使用的时候就可以这样:
PHP代码
- <?php
- $data = array(
- new stdClass();
- new JsonTest(1,2),
- new JsonTest(3,4),
- array(5,6)
- );
- echo json_encode($data);
- ?>
-
-
雪候鸟也说了:最后提醒一下, PHP 5.4还处于开发阶段, 在最终release之前, 这些特性都可能被调整或者更改. 如果大家有任何建议, 也欢迎反馈, 帮助我们使得PHP变得更好.
------
好吧,第一个功能我喜欢,第二个我短时间内还用不到。。。