thinkphp5多级控制器是什么?怎么使用?
thinkphp5多级控制器是什么?怎么使用?
一、总结
1、多级控制器是让控制器的级数变成多级,也就是controller目录下可以新建其它目录。
2、使用的话注意目录下的控制的的命名空间(加上目录名)(namespace app\index\controller\one;
)和访问方式(文件名.控制器名)(http://serverName/index.php/index/one.blog/index
)(不开自动定位控制器的情况)
二、多级控制器
新版支持任意层次级别的控制器,并且支持路由,例如:
namespace app\index\controller\one;
use think\Controller;
class Blog extends Controller
{
public function index()
{
return $this->fetch();
}
public function add()
{
return $this->fetch();
}
public function edit($id)
{
return $this->fetch();
}
}
该控制器类的文件位置为:
application/index/controller/one/Blog.php
访问地址可以使用
http://serverName/index.php/index/one.blog/index
如果要在路由定义中使用多级控制器,可以使用:
\think\Route::get('blog/add','index/one.Blog/add');
三、自动定位控制器
如果你使用了多级控制器的话,可以设置controller_auto_search
参数开启自动定位控制器,便于URL访问,例如首先在配置文件中添加:
'controller_auto_search' => true,
然后定义控制器如下:
namespace app\index\controller\one;
use think\Controller;
class Blog extends Controller
{
public function index()
{
return $this->fetch();
}
public function add()
{
return $this->fetch();
}
public function edit($id)
{
return $this->fetch('edit:'.$id);
}
}
我们就可以直接访问下面的URL地址了:
http://serverName/index.php/index/one/Blog
四、测试题-简答题
1、thinkphp里面的多级控制器是什么?
解答:就是thinkphp可以在控制器controller文件下再建文件夹。
application/index/controller/one/Blog.php
2、thinkphp里面的多级控制器有什么用?
解答:让控制器的层次结构更加分明。
3、thinkphp里面的多级控制器如何实现?
解答:a、在控制器controller目录下建立文件夹 b、新文件夹下的命名空间要注意。
namespace app\index\controller\one;
4、在控制器controller目录下建立名为one的目录,one目录中的控制器的命名空间是怎么样的?
解答:在日常控制器后面加上one。namespace app\index\controller\one;
5、在控制器controller目录下建立名为one的目录,one目录中有一个名为blog的控制器,这个控制器如何在地址栏被访问?
解答:目录名.控制器名 的形式。 one.blog。 http://serverName/index.php/index/one.blog/index
6、thinkphp中的自动定位控制器有什么用?
解答:便于多级控制器的访问,让多级控制器可以按照文件目录访问,而不是 目录名.控制器名 的形式访问。http://serverName/index.php/index/one/Blog。
7、thinkphp中的自动定位控制器只有在开启了多级控制器才有用,这句话正确么?
解答:正确,因为自动定位控制器就是为多级控制器来服务的。
8、thinkphp中如何开启自动定位控制器?
解答:在配置文件中将 'controller_auto_search' => true,
前者的值置为true。
9、thinkphp中的命名空间和ues引入的文件名是正斜杠还是反斜杠?
解答:反斜杠。namespace app\index\controller\one;
10、url访问中的地址是正斜杠还是反斜杠?
解答:正斜杆。http://serverName/index.php/index/one/Blog
thinkphp5多级控制器是什么?怎么使用?的更多相关文章
- Thinkphp控制器,1.多层控制器2.多级控制器
1.多层控制器 ThinkPHP的控制器支持多层和多级,多层指的是控制器可以分层,例如除了默认的Controller控制器层(我们可以称之为访问控制器),还可以添加事件控制器(层),例如: ├─Con ...
- Thinkphp5.0 控制器向视图view赋值
Thinkphp5.0 控制器向视图view的赋值 方式一(使用fetch()方法的第二个参数赋值): <?php namespace app\index\controller; use thi ...
- thinkphp5空控制器和空操作
thinkphp5空控制器和空操作 一.总结 1.空控制器和空操作用:空控制器和空操作都是为了防止网站上的用户恶意输入,网站上线的话必须加上, 2.空操作:空操作就是在一般的控制器里面加上一个 _em ...
- ThinkPHP开发api时多级控制器的访问方法
发开api时,经常会用到thinkphp的多级控制器,访问方法如下: 例如:有v1和v2两个版本的接口 v1:版本控制器(类文件位置为:application/api/controller/v1/Us ...
- thinkphp5实现多级控制器
默认情况下目录结构 application ->admin->controller->class.php 当项目比较多的时候,目录下控制器文件较多,考虑按模块增加一层目录 appli ...
- Asp.net Mvc 多级控制器 路由重写 及 多级Views目录 的寻找视图的规则 (多级路由) 如:Admin/Test/Index
http://blog.csdn.net/buhuan123/article/details/26387427 目录(?)[-] 1那么我们再来看我们需要的访问方式如下图 razor视图的地址写成通配 ...
- ThinkPHP5跨控制器调用
1.在application\index\controller\文件夹里新建User.php <?php namespace app\index\controller; class User{ ...
- Thinkphp5创建控制器
今天我们就来创建一个控制器: <?php namespace app\index\controller; use think\Controller; class Test extends Con ...
- thinkphp5的控制器调用自身模块和调用其他模块的方法
以user为例,调用user.php的get_number()方法 一.不管是调用自身模块还是其他模块app\model\User.php写法不变 <?php namespace app\ind ...
随机推荐
- js的数据类型和typeof数据类型
js的数据类型:number,string,null,undefined,Boolean,object typeof数据类型:number,string,object,function,undefin ...
- codeforces 666E. Forensic Examination(广义后缀自动机,Parent树,线段树合并)
传送门: 解题思路: 很坑的一道题,需要离线处理,假如只有一组询问,那么就可以直接将endpos集合直接累加输出就好了. 这里就要将询问挂在树节点上,在进行线段树合并时查询就好了. 代码超级容易写挂的 ...
- 1.16 Python基础知识 - 装饰器初识
Python中的装饰器就是函数,作用就是包装其他函数,为他们起到修饰作用.在不修改源代码的情况下,为这些函数额外添加一些功能,像日志记录,性能测试等.一个函数可以使用多个装饰器,产生的结果与装饰器的位 ...
- arguments对象----不定参数的实现方式
function format(string) { var args = arguments; var pattern = new RegExp("%([1-" + argumen ...
- Hadoop ecosystem 生态圈
Cascading: hadoop上面的workflow Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行 ...
- js进阶 14-1 jquery的ajax系列中的load方法的作用是什么
js进阶 14-1 jquery的ajax系列中的load方法的作用是什么 一.总结 一句话总结:jQuery load()方法作用是从服务器加载数据,是一个简单但强大的AJAX方法. 1.load函 ...
- 最大公约数最小公倍数 (例:HDU2028 Lowest Common Multiple Plus)
也称欧几里得算法 原理: gcd(a,b)=gcd(b,a mod b) 边界条件为 gcd(a,0)=a; 其中mod 为求余 故辗转相除法可简单的表示为: int gcd(int a, int b ...
- RMAN冷备份、一致性备份脚本
RMAN冷备份.一致性备份脚本 run{ shutdown immediate; startup mount; allocate channel c1 type disk; allocate chan ...
- PythonAdvanced
PythonAdvanced function 函数 (要多使用函数,方便,少变量,好改错) 函数是可以重复执行的语句块,可以重复使用 作用: 1.用于封装语句块,提高代码的重用性 2.定义用户级别的 ...
- ios越狱开发
theos/Logos常用命令 %hook 用的最多,意思是钩住一个类. %hook SpringBoard %end %new (v@:) 新建方法 v是返回值@代表参数名 %new(v@:@i) ...