TP5自动生成模块

Posted 张八百_php学习笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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\';
//运行自动生成
\\think\\Build::run($build,\'app\',false);

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

  

  注意事项:

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

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

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

以上是关于TP5自动生成模块的主要内容,如果未能解决你的问题,请参考以下文章

TP5新增模块

TP5报如下的错误 Indirect modification of overloaded element of thinkpaginatorCollection has no effect(代码片段

TP5常用命令符操作

tp5怎么调用common里面自定义的函数

tp5.0 SHOW COLUMNS FROM 生成数据表字段缓存

tp5命令行基础介绍