文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>17joys用户管理功能-控制器

17joys用户管理功能-控制器

时间:2010-04-14  来源:17joys

http://www.17joys.com/php/cms/cms-12-125.html17joys用户管理功能-控制器

用户名模型创建完毕后,接下来就要完成控制器的定义了,也就是要决定用户都有哪些操作。

ThinkPHP采用模块和操作的方式来执行,首先,用户的请求会通过入口文件生成一个应用实例,应用控制器(我们称之为核心控制器)会管理整个用户执行的过程,并负责模块的调度和操作的执行,并且在最后销毁该应用实例。任何一个WEB行为都可以认为是一个模块的某个操作,系统会根据当前的URL来分析要执行的模块和操作。这个分析工作由URL调度器来实现,官方内置了Dispatcher类来完成该调度。

在Dispatcher调度器中,会根据URL:http://servername/appName/moduleName/actionName/params
来获取当前需要执行的项目(appName)、模块(moduleName)和操作(actionName),在某些情况下,appName可以不需要(通常是网站的首页,因为项目名称可以在入口文件中指定,这种情况下,appName就会被入口文件替代)。在复杂一点的情况下面,可能还会出现分组(groupName)。

每个模块是一个Action文件,类似于我们平常所说的控制器,系统会自动寻找项目类库Action目录下面的相关类,如果没有找到,则会定位到空模块,否则抛出异常。

而actionName操作是首先判断是否存在Action类的公共方法,如果不存在则会继续寻找父类中的方法,如果依然不存在,就会寻找是否存在自动匹配的模版文件。如果存在模版文件,那么就直接渲染模版输出。

因此应用开发中的一个重要过程就是给不同的模块定义具体的操作。一个应用如果不需要和数据库交互的时候可以不需要定义模型类,但是必须定义Action控制器。

Action控制器的定义非常简单,只要继承Action基础类就可以了,例如:

class UserAction extends Action{

}
如果我们要执行下面的URL

http://servername/index.php/User/add

你需要增加一个add方法就可以了,例如

Class UserAction extends Action{
 
  // 定义一个add操作方法,注意操作方法不需要任何参数
 
  Public function add(){
 
   // add操作方法的逻辑实现
 
   // ……
 
   $this->display(); // 输出模板页面
 
}
 
}

操作方法必须定义为Public类型,否则会报错。并注意操作方法的命名不要和内置的Action类的方法重复。系统会自动定位当前操作的模板文件,而默认的模板文件应该位于项目目录下面的Tpl\default\User\add.html。

17JoysCMS用户管理功能需要的操作就是:用户列表、创建用户、编辑用户、删除用户、插入用户数据、更新用户数据
所以控制器的结构如下

class UserAction extends CommonAction{
      /*
       用户列表
    */
      funciton index(){
      }
     /*
       添加用户
    */
      funciton add(){
      }
     /*
       编辑用户
    */
      funciton edit(){
      }
      /*
       删除用户
    */
      funciton delete(){
      }
      /*
       插入用户数据
    */
      funciton insert(){
      }
      /*
       更新用户数据
    */
      funciton update(){
      }
}

此文件保存于Action/UserAction.class.php文件中

作者:马明@PHP培训 修订1.0 2010-03

乐学PHP学院是国内专业的PHP培训机构,天津最好的PHP培训机构,拥有完整全面的PHP培训课程体系,使用自行开发的PHP内容管理系统作为授课案例,真实项目教学,还提供PHP教程、PHP视频、PHP人才、PHP开发等服务!

本文乐学PHP版权所有,未经批准转载必究。

排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载