ThinkPHP框架下自定义控制器方法

每个模块是一个Action文件,因此应用开发中的一个重要过程就是给不同的模块定义具体的操作。一个应用如果不需要和数据库交互的时候可以不需要定义模型类,但是必须定义Action控制器,一般位于项目的Lib/Action目录下面。

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

  1. Class UserAction extends Action{}

控制器文件的名称是UserAction.class.php。

如果我们要执行下面的URL

http://localhost/App/index.php/User/add

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

控制器文件的名称是UserAction.class.php。

如果我们要执行下面的URL

http://localhost/App/index.php/User/add

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

<?php
    //用户模块
    class UserAction extends Action{
        //定义一个add操作方法
         public function add(){
            //add操作方法逻辑的实现
            // ...
            $this->display();//输出页面模板
        }
    }

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

Tpl\User\add.html

时间: 2024-08-29 13:24:45

ThinkPHP框架下自定义控制器方法的相关文章

Thinkphp框架中自定义修改success和error页面

Thinkphp框架中自定义修改success和error页面 Thinkphp框架的默认success和error太难看,可以自定义设置,步骤如下: (注意:TP原框架中的success跳转有问题,先修改框架内容) 在TP的Controller.class.php中L284行下增加exit; 1.修改配置文件,增加自定义页面路径(在Admin模块下的config.php中增加) // 跳转页面模板 'TMPL_ACTION_ERROR' => MODULE_PATH.'View/Common/

ThinkPHP框架配置自定义的模板变量(十)

原文:ThinkPHP框架配置自定义的模板变量(十) 模板替换(手册有详细介绍对应的目录) __PUBLIC__:会被替换成当前网站的公共目录 通常是 /Public/ __ROOT__: 会替换成当前网站的地址(不含域名) __APP__: 会替换成当前项目的URL地址 (不含域名) __GROUP__:会替换成当前分组的URL地址 (不含域名) __URL__: 会替换成当前模块的URL地址(不含域名) __ACTION__:会替换成当前操作的URL地址 (不含域名) __SELF__: 会

thinkphp框架下session 存入mongo

最近做系统的时候处理到session入数据库问题 , 由于是在thinkphp框架下, 查看了下框架session相关代码, 发现原框架默认支持mysql数据库 , 于是对原Session驱动做了相应修改 , 使其支持mongo数据库存储session 修改的相关文件是\Think\Session\Driver\Db\Db.class.php , 本人使用的是TP3.2,2版本 , 修改后的Db.class.php代码如下: <?php namespace Think\Session\Drive

ThinkPHP框架之空控制器

  HOME代表的是模块  前台可以用Home 后台用Admin   Model View Controller  统称为MVC   Model  是数据模型 主要是和数据库打交道的  View代表显示的模 Controller 控制器    MVC模式 都遵循"约定胜于配置" 必须要遵循规则    ThinkPHP 中的common文件夹是TP框架自带的一些函数  conf文件夹下的convertion.php 含有TP所有的配置  尽量不要修改 Lang 语言包 Library 存

thinkphp 框架中的一部分方法解析

 1 thinkphp 框架 中判断输入的数值和数据库中的数值是否一致    首先 需要在view文件夹下建一个模板 名为zhuce.html <html> <head> <script src="__ROOT__/Public/js/jquery-1.11.2.min.js"></script> </head> <body> <div> 账号:<input type="text&quo

thinkphp框架下404页面设置

404页面即系统在找不到请求的操作方法和找不到请求的控制器名称时的一种报错行为的优化. 第一步:在thinkphp框架中的Home/Comtroller中建一个EmptyController.class.php,其代码如下: <?phpnamespace Home\Controller;use Think\Controller;class EmptyController extends Controller{     //空操作_empty()方法    function _empty(){  

Thinkphp框架下(同服务器下)不同二级域名之间session互通共享设置

在Thinkphp框架下根目录打开index.php 在头部加入如下代码即可: //入口文件 define('DOMAIN','abc.com');//abc.com换成自己的跟域名 //以下两行是为了子域名共享SESSION 注意 DOMAIN 需要改为实际的域名 ini_set('session.cookie_path', '/'); ini_set('session.cookie_domain', DOMAIN);

Thinkphp框架下连接两个及以上的数据库方法

在我们的实际开发者,我们经常需要链接两个以上的数据库,方法跟简单 Thinkphp文档中也有介绍:点击查看 方法如下: 第一步:配置文件config.php <?php //默认数据库1 return array( //'配置项'=>'配置值' 'DB_TYPE' => 'mysql', // 数据库类型 'DB_HOST' => '10.10.10.10', // 服务器地址 'DB_NAME' => 'user', // 数据库名 'DB_USER' => 'roo

ThinkPHP框架下,jq实现在div中添加标签并且div的大小会随之变化

php初学者,有什么不对的还请指正. 首先是在html页面中用jq实现添加标签:divAchivePersonnal是select所在的div的外层div,divselectAchivePersonnal是select的最近一层div,info内是字符串拼接,jq标签插入用append方法.接下来是调整css样式,使div会随着标签增加而加大,这里要用一个css属性overflow(亲自查),这里直接在divselectAchivePersonnal使用时不会达到你想要的效果,所以至少要有两个嵌