[CodeIgniter4]-将控制器放入子目录中

 [CodeIgniter4]-将控制器放入子目录中,这是一个小坑,CI4中文例子,目前我找的只有迅睿CMShttps://www.xunruicms.com/down/)一个示例,但是这丫已经魔改过了,还需要理解迅睿的思路。

将控制器放入子目录中

随着项目的变大就需要把控制器放在子目录中,废话不多说,上方法。

 

 app/Config/Routes.php 文件我修改过的地方

因我讨厌Home作为默认,哈哈哈

/**
 * --------------------------------------------------------------------
 * Router Setup
 * 路由器设置
 * --------------------------------------------------------------------
 */
$routes->setDefaultNamespace('App\Controllers');
$routes->setDefaultController('Index');
$routes->setDefaultMethod('index');
$routes->setTranslateURIDashes(false);
$routes->set404Override();
$routes->setAutoRoute(true);
/**
 * --------------------------------------------------------------------
 * Route Definitions
 * 路由定义
 * --------------------------------------------------------------------
 */

// We get a performance increase by specifying the default
// route since we don't have to scan directories.
//我们通过指定默认值来提高性能
//路由,因为我们不必扫描目录。
$routes->get('/', 'Index::index');

方法

在控制器目录新建一个子目录

如:app/Controllers/Admin

建立默认方式文件(DefaultMethod):Index.php文件

如下代码所示即可

<?php namespace App\Controllers\Admin;
// 采用命名空间的方式调用这个功能 use App\Controllers\BaseController; class Index extends BaseController { public function index() { echo 'admin'; } }

效果如下

这么多层够用了吧 

 

 

附赠PHP命名空间解析

菜鸟教程:https://www.runoob.com/php/php-namespace.html

官方教程:https://www.php.net/manual/zh/language.namespaces.php

 

posted @ 2020-03-03 16:57  landv  阅读(466)  评论(0编辑  收藏  举报