控制器

首先,每一个控制器的类名都要规范的写成 控制器名+Controller.class.php

系统默认的控制器是Index,对应的就是Controller/indexController.class.php

因为ThinkPHP采用单一入口模式访问应用,请求都会被定向到入口文件,系统会自动解析URL参数,确定当前请求的模块/控制器/方法,标准的URL请求模式: http://localhost/index.php/admin/index/hello

1.普通模式利用传统的GET传参的方式请求,http://localhost/?m=admin&c=index&a=hello$name=thinkphp

2.PATHINFO模式 因为过长的url请求会对搜索引擎蜘蛛不友好,所以这个模式使用了SEO优化,我们甚至可以更改url参数的连接符, 'URL_PATHINFO_DEPR' => '-';http://localhost/index.php/admin-index-hello-name-thinkphp

3.REWRITE模式在原来PATHINFO的基础上添加了重写规则,可以去掉URL地址里面的入口文件index.php,在入口文件的同级添加htaccess文件,

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

这段代码的主要作用就是利用正则表达式。自动在url请求中添加index.php.

控制器与视图

每一个控制器得方法都会在VIEW/控制器名称/方法名.html视图文件.

要输出视图就要在控制器方法里进行模板渲染操作。例如:

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
public function hello($name='thinkphp'){
$this->assign('name',$name);
$this->display();
}
}

这个控制器类中,对于我们从URL参数获取的$name值,$this->assign(key,value);保存然后$this->display();指定渲染的模板,若没有指定则按照规则及,view/控制器名称/方法名.html输出模板文件


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值