• thinkphp5多级控制器是什么?怎么使用?


    thinkphp5多级控制器是什么?怎么使用?

    一、总结

    1、多级控制器是让控制器的级数变成多级,也就是controller目录下可以新建其它目录。

    2、使用的话注意目录下的控制的的命名空间(加上目录名)(namespace appindexcontrollerone;)和访问方式(文件名.控制器名)(http://serverName/index.php/index/one.blog/index)(不开自动定位控制器的情况)

    二、多级控制器

    新版支持任意层次级别的控制器,并且支持路由,例如:

    namespace appindexcontrollerone;
    
    use thinkController;
    
    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
    

    如果要在路由定义中使用多级控制器,可以使用:

    	hinkRoute::get('blog/add','index/one.Blog/add');

    三、自动定位控制器

    如果你使用了多级控制器的话,可以设置controller_auto_search参数开启自动定位控制器,便于URL访问,例如首先在配置文件中添加:

    'controller_auto_search' => true,
    

    然后定义控制器如下:

    namespace appindexcontrollerone;
    
    use thinkController;
    
    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 appindexcontrollerone;

    4、在控制器controller目录下建立名为one的目录,one目录中的控制器的命名空间是怎么样的?

    解答:在日常控制器后面加上one。namespace appindexcontrollerone;

    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 appindexcontrollerone;

    10、url访问中的地址是正斜杠还是反斜杠?

    解答:正斜杆。http://serverName/index.php/index/one/Blog

  • 相关阅读:
    Hibernate 工作原理及为什么要用
    一款很好用的JQuery dtree树状图插件(一)
    android PopupWindow
    android 截屏工具类
    ubuntu 中文输入法
    Google GCM推送
    windows 安装配置 ant
    (转)Angular中的拦截器Interceptor
    flex 布局 自己做的demo
    flex布局 (转)
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9112485.html
Copyright © 2020-2023  润新知