建一个控制器
在项目目录下(Test)的Home文件夹内的Controller文件夹中 命名规则 MainController.class.php 控制器名称+Controller
<?php
namespace HomeController; 命名空间
use ThinkController; 找到Controller父类
class MainController extends Controller Main为控制器名称
{ 类中写操作方法
function XianShi()
{
$this->assign("test","hello"); 调用方法,可以注册变量,然后在模板页面调用{$test}
$this->display();
}
}
在View文件夹中新建文件夹Main(控制器名)在Main中建 XianShi.html (操作方法名) MVC的约定
可以通过conf/config.php来更改配置如模板引擎开始和结束的标记
前置和后置操作
function _before_XianShi()
{
echo "前置操作";
}
function XianShi()
{
$this->assign("test","hello");
$this->display();
}
function _after_XianShi()
{
echo "后置操作";
}
function XianShi($name,$sex)需要传值的情况 在网页地址栏的最后加上/name/lisi/sex/男 传值方式与get方式类似
{
echo $_GET["sex"]; 也可以用get方式接收
$this->assign("test","hello");
$this->assign("ceshi",$name);
echo $sex;
$this->display();
}
传值两种方式 1.在方法里写参数 2.使用get方法(方法中可以不写参数,直接在地址栏写,传,然后接收)
使用post传值也可以
URL生成 echo U("XianShi"); 当前控制器下()内直接写操作方法名
如果要生成不同控制器里的操作方法的地址 写成(控制器/操作方法)echo U("Index/index");
不同模块下 前边再加上模块名 U("Admin/Index/index");
获取系统常量信息:
function ChangLiang()
{
var_dump(get_defined_constants(true));
}
双下划线常用的self module Controller action 直接使用
登录 有显示页面并且有提交的情况
function DengLu()
{
//实现两个逻辑,显示页面,执行登录
if(empty($_POST))
{
$this->display();
}
else
{
echo "登录操作";
}
}
模板页面 <form action="__ACTION__/" method="post">