mufidjamaluddin/codeigniter4-hmvc

CodeIgniter4 HMVC 入门应用程序

v0.2.3 2024-07-13 00:20 UTC

This package is auto-updated.

Last update: 2024-09-13 00:43:43 UTC


README

<ORG_NAME>

这是一个使用 CodeIgniter4 框架的分层模型-视图-控制器 (HMVC) 项目入门模板。通过 HMVC 架构,我希望我们能创建可扩展的 Web 应用程序。

先决条件

  1. PHP 7.2 或更高版本
  2. Composer 版本 1.10 或更高版本
  3. Intl PHP 扩展(用于格式化货币、数字和日期/时间,请参阅 CodeIgniter4 文档
  4. xdebug PHP 扩展(仅用于测试目的,可选)
  5. php_sqlite3 PHP 扩展(仅用于测试目的,非常可选)

如何使用

  1. 运行 composer create-project mufidjamaluddin/codeigniter4-hmvc your_project,以创建基于此模板的项目。
  2. 通过更改 env 文件来配置应用程序。
  3. 运行 php spark serve 以运行应用程序。

创建新模块

教程

  1. 更新 spark 文件
composer update
cp vendor/codeigniter4/framework/public/index.php public/index.php
cp vendor/codeigniter4/framework/spark .
  1. 调用 php spark module 命令,然后输入模块、控制器和模型名称(自动配置路由模块)。

  2. 运行 composer test 以运行您的测试用例(可选,请参阅 CodeIgniter4 文档PHPUnit 文档

  3. 通过 php spark serve 命令在浏览器中运行

屏幕截图示例

Create New Module

Run Web 1

Run Web 2


注意事项

在创建或更改模块、控制器或控制器方法后,除了手动配置模块路由外,始终运行 php spark route:update 命令。

命令提示符

命令模块、控制器和模型创建

在模块内部创建控制器(必需)和模型的最简单方法。如果不存在,则创建模块或模型。

用法:调用 php spark module 命令,然后输入模块、控制器和模型名称。

命令 route:update 参数

参数:'-n' = 设置模块命名空间(默认 App\Modules) '-i' = 设置具有 /index 路径的路径(true/false,默认 true) '-m' = 设置要创建/更新的一个模块名称(app/Modules/YourModuleName) '-f' = 设置 app 路径内的模块文件夹(默认 Modules)

用法命令 php spark route:update -i false -m YourModule

命令 module:create 参数

示例 php spark module:create invoice

第一个参数(invoice)是您的新模块。

PHPUnit

您可以通过运行 composer test 运行所有测试用例。

其他命令

您可以通过运行 php spark list 和 composer.json > 脚本中的 composer 命令来获取所有命令提示符列表。

HMVC 结构

默认结构

默认情况下,存在 Codeigniter4-HMVC 的结构。

app
   \Modules
       \{YourModule}
            \Config
                Routes.php
            \Controllers
                BaseController.php
                {YourController}.php
            \Models
                {YourModel}.php
    \Views
        \template
            {YourTemplate}.php
        \{your view module folder}
            {Your View}.php
    ...
    
    \tests
        \unit
            ...
        \integration
            \Modules
                \{YourModule}
                    {YourController}.php
        ...

自定义结构

您可以根据自己的需求自由地构建模块,因为 CodeIgniter4 使用 PSR4。如果您想更改 Config 模块文件夹中的 Routes.php 结构或模块控制器的结构,您必须更改 app/Config/Routes.php 中的 HMVC 路由部分以及 app/Commands 文件夹中的 RouteUpdate.php & Module.php。

贡献

您可以通过分叉此存储库来扩展 CodeIgniter4 功能或添加用于开发使用的命令提示符。之后,您可以发起拉取请求。