Kohana的事件由name和callback两部分组成,名称一般包括一个前缀,但不是必须的,所有的基类事件都以system为前缀,为system.name的形式.
System Events
下面的事件在Kohana core文件中定义.
system.ready
钩子(hooks)被加载后马上调用,这是最早可捕捉的事件
system.routing
路由URL.
system.execute
控制器初始化 阅读全文…
概述
视图是你的程序的表现,一般是HTML, CSS,JavaScript,也可以是其他的如XML或者用于AJAX输出的Json,视图的目的是将表现层与你的程序逻辑分离,以保持更好的易用性.有了这些基础,视图可以把你传递给他们的数据用于输出.例如用用表格的形式循环输出一个产品信息的数组,视图仍然是一个PHP文件,你可以在里面使用正常情况下你所能使用的代码.视图在控制器的命名空间内生效,因此你可以使用任何已经加载的资源.
创建视图
视力需要放在views目录下,文件名除去其扩展名就是视图名称,如果有需要视图文件也可以放在子目录下,但是加载的时候要注意其路径.例如:
$view = new View('home');
// Filename list.php in sub-directory 'products'
$view = new View('products/list');
助手是一些对开发中有用的函数,助手和类库的里的方法有些类似,但是存在一些奥妙的差别.在类库中里需要实例化一个对象才能使用其方法,助手方法都是一些类中的静态方法,因此不用实例化,你可以认为它们是”全局函数”.
helpers在使用它们时会自动加载,因此不用手动加载.这里是一个调用helpers的例子
echo url::base();
你可以添加自己的助手函数和替换或者扩展kohana的内置助手函数.
添加你自己的助手函数
当创建自己的助手时,需要遵循以一下约定: 阅读全文…
今天一个朋友问我,在IE6下,为什么他设定的DIV的高度和实际高度不一致,一般情况下,
是没有任何问题的,但是,
或者高度更低的时候,在IE6下就不再是我们所希望的结果了,比你预期的要高,这时候请别忘记对当前DIV加上font-size属性,
这样就OK了
下列库在Kohana中总是自动加载
- Loader
- URI
- Input
其他库也可以自动加载,比如要加载Profiler库,你只需要在你控制器的构造函数中加入
另外,你需要手动加载类,只需要这样
自Kohana 2.1.2 $this→load() 不被赞成使用
自动加载
如果某个类没有被加载,PHP具有自动加载的功能,Kohana也有此功能,举例:
$cache = new Cache();
html::stylesheet();
$this->layout = new View('layout');
这不同于Kohana自动加载功能,Kohana的自动加载功能会在任一页面加载某一个库,模型等,例如你想自动加载Session库在任意页面.
加载库(Loading libraries)
一般来说,有两种方式加载库,例如加载session库, 阅读全文…
