1、Action类中的_initialize()函数,先于任何自定义操作函数运行,可认为是控制器的前置操作。可用于检测用户是否登录等检测。
如果多个模块(Action)需要相同_initialize(),可以先定义一个CommonAction extends Action类,然后其他类继承CommonAction类。
2、SESSION销毁:session_unset();session_destory();
3、//分组列表
'APP_GROUP_LIST'=>'Index,Admin',
//默认分组
'DEFAULT_GROUP'=>'Index',
//模板分隔符
'TMPL_FILE_DEPR'=>'_',
4、<include file="" />标签用来引入外部的模板文件。
用法①直接引入外部文件<include file = 相对于入口文件的相对文件地址,模板需要加后缀名。
用法②包含当前模块的其他模板<include file ='操作名' /> 如 <include file='read' />表示包含当前分组当前模块的read操作的模板
用法③包含其他模块的操作模板<include file ='模块名:操作名' /> 如<include file='User:read' />表示包含User模块的read操作模板。这个在包含公用header模板等方面使用比较多。注意只包含模板,而非包含操作。
5、join例子。
从表article选取文章列表出来,字段中有一个cid即所属栏目id,为了显示方便最好能根据cid从category栏目表中获得该分类相关信息。这时候可以用到join。跟RelationModel功能类似。M('article')->join('category ON article.cid = category.id')->select()即可。
注意:使用JOIN ON关联查询,如果第二个表中与第一个表中的字段名称相同,第二个表中内容会覆盖第一个,这时候要使用别名方法field(table1.colName1 AS tblcolAlias1,table2.colName2 AS tblcolAlias2)