ThinkPHP解析ThinkPHP5创建模块

Posted David Wu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkPHP解析ThinkPHP5创建模块相关的知识,希望对你有一定的参考价值。

在根目录下有一个build.php文件,该文件是自动生成的,自动创建模块。

build.php的文件内容如下:

<?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\'],
    ],
    // 其他更多的模块定义
];

其中
__dir__ 表示生成目录,可以支持多级目录
__file__ 表示生成文件,不定义默认会生成config.php和common.php文件
controller 表示生成的controller类
model 表示生成model类
view 表示生成html文件

默认的build.php文件,只有一个demo模块。可以按照上面的demo模板,定义更多的模块。

接下就是生成模块文件了,有两种模块生成方式,第一种是通过命令行方式,第二种是通过链接访问的方式。

 

命令行方式:

首先拷贝根目录下的build.php文件到application文件夹下,然后在项目的根目录下执行命令

php think build --module demo

执行结果显示Success,表示生成成功。如果不指定--module参数,那么将会生成build.php中配置的所有的模块。

链接访问方式:

通过在项目目录下的public/index.php文件中进行配置,然后通过链接访问的方式完成生成模块目录:
index.php文件原来的内容如下:

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

然后在index.php后面加上如下语句:

$build = include APP_PATH.\'/../build.php\';
\\think\\Build::run($build);

这里要找对build.php文件的位置,不同的环境可能不一样

然后访问 http://localhost/项目名称/public/index.php ,就完成模块目录的生成了。

以上是关于ThinkPHP解析ThinkPHP5创建模块的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp5 怎么获取当前的模块,控制器和方法名

Thinkphp5笔记二:创建模块

thinkphp5学习

thinkphp5.x系列 RCE总结

thinkphp5配置二级域名

[作业管理系统开发实战三 ]用户登陆模块的后端代码(thinkphp5)