ThinkPHP第十天(_initialize方法,SESSION销毁,分组配置,include文件引入,JOIN用法)

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)

上一篇:yii YII小部件 创建登录表单表单 Login表单


下一篇:stdafx.h、stdafx.cpp是干什么用的?为什么我的每一个cpp文件都必须包含stdafx.h? Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编