TP5自动生成模块

  1. 如何去掉public?

  方法①:把网站根目录放到public目录下即可,如

  www/  改为 www/public,TP5的文件还是直接放在www/目录下

  

 

  方法②:将public下的index.php移动到根目录,修改index.php里面的代码,改变引用路径如下:

// 定义应用目录
define('APP_PATH', __DIR__ . './application/');
// 加载框架引导文件
require __DIR__ . './thinkphp/start.php';

   如果要开启重写机制,还要将public下的.htaccess也一起剪到根目录(限apache服务器)

  2.自动生成模块

  1)在网站根目录有一个bulid.php文件,可以用于生成模块,内容如下:

return [
    // 生成应用公共文件
    '__file__' => ['common.php', 'config.php', 'database.php'],

    // 定义demo模块的自动生成 (按照实际定义的文件名生成)
    'demo'     => [
        '__file__'   => ['common.php'],
        '__dir__'    => ['behavior', 'controller', 'model', 'view'],
        'controller' => ['Index', 'Test', 'UserType'],
        'model'      => ['User', 'UserType'],
        'view'       => ['index/index'],
    ],
    // 其他更多的模块定义
    
];

  2)复制一份 demo 部分代码,把“demo”修改成自己需要的模块名字,其他部分默认不需要修改

return [
    // 生成应用公共文件
    '__file__' => ['common.php', 'config.php', 'database.php'],

    // 定义demo模块的自动生成 (按照实际定义的文件名生成)
    'demo'     => [
        '__file__'   => ['common.php'],
        '__dir__'    => ['behavior', 'controller', 'model', 'view'],
        'controller' => ['Index', 'Test', 'UserType'],
        'model'      => ['User', 'UserType'],
        'view'       => ['index/index'],
    ],
    // 其他更多的模块定义
    'admin'     => [
        '__file__'   => ['common.php'],
        '__dir__'    => ['behavior', 'controller', 'model', 'view'],
        'controller' => ['Index', 'Test', 'UserType'],
        'model'      => ['User', 'UserType'],
        'view'       => ['index/index'],
    ],
];

  3)在网站index.php文件中添加两段代码,运行自动生成文件

// 定义应用目录
define('APP_PATH', __DIR__ . './application/');
// 加载框架引导文件
require __DIR__ . './thinkphp/start.php';

//读取自动生成定义文件
$build = include './build.php';
//运行自动生成
	hinkBuild::run($build,'app',false);

  4)直接访问站点首页,会执行index.php这个文件,自动生成模块及其相应的目录文件(如下)

  

  注意事项:

  1)  开始多模块必须保证开启了多模块(默认开启),可在config.php中设置

// 是否支持多模块
    'app_multi_module'       => true,

  2)index.php不一定在public文件中,有时候会被设置在根目录下,要保证bulid.php的文件目录引入路径正确

原文地址:https://www.cnblogs.com/bk233/p/7657815.html