Take a look at GW

【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 ,就完成模块目录的生成了。

posted @   HDWK  阅读(705)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示