simpletine/codeigniter4-hmvc-shield

为 CodeIgniter 4 提供模块化 HMVC(分层模型-视图-控制器)架构,集成 CodeIgniter 4 Shield,并使用 AdminLTE 构建,为可扩展的 Web 应用程序提供强大的基础。

v1.3.1 2024-09-11 16:44 UTC

This package is auto-updated.

Last update: 2024-09-11 17:17:21 UTC


README

Official Website YouTube Channel

Codeigniter 4 HMVC

此存储库为 CodeIgniter 4 提供模块化 HMVC(分层模型-视图-控制器)架构,与官方认证系统 CodeIgniter 4 Shield 集成。它还包括一个使用 AdminLTE 构建的综合性 Admin Dashboard,为可扩展和安全的 Web 应用程序提供强大的基础。

安装指南

创建项目

composer create-project simpletine/codeigniter4-starter ci4_hmvc --stability=dev

复制 env 文件并设置数据库环境

cp env .env

运行应用程序,使用不同的端口,添加选项 --port=9000

php spark serve

配置

安装 HMVC 包

composer require simpletine/hmvc-shield

设置命令行

php spark simpletine:setup

默认认证

email: super@admin.com
password: password

创建用户

使用命令行创建新用户

php spark shield:user create

注意

如果您使用的是旧版本,在 composer update 后,您需要更新根文件夹中的 index.phpspark 文件(升级到 v4.4.8)

composer update
cp vendor/codeigniter4/framework/public/index.php public/index.php
cp vendor/codeigniter4/framework/spark spark

模块命令

可用命令及其功能

通用

创建一个名为 Blogs 的新模块

php spark module:create Blogs 

复制现有的 Blogs 模块并将其重命名为 Items

php spark module:copy Blogs Items 

为模块 Blogs 创建一个名为 Categories.php 的控制器

php spark module:controller Blogs Categories 

为模块 Blogs 创建一个名为 Categories.php 的模型

php spark module:model Blogs Categories 

发布者

将所需资产发布到 public 文件夹

php spark publish:assets 

使用 AdminLTE 发布视图到 COnfig/Auth.php

php spark publish:views 

管理员

命令的附加选项

使用 AdminLTE 创建新控制器和视图到 Admin 模块

php spark module:controller Admin Users --admin 

模块目录

App 
├── Modules      
│   └── Blogs
│       ├──  Config
│           └──  Routes.php
│       ├──  Controllers
│           └──  Blogs.php
│       ├──  Models
│           └──  Blogs.php
│       └──  Views
│           └──  index.php
└── ...  

路由分组

blogs 添加新的子路由,命名为 new 并指定方法名称

$routes->get('new', 'Blogs::new');

添加新的子路由后的路由分组示例

$routes->group(
    'blogs', ['namespace' => '\Modules\Blogs\Controllers'], function ($routes) {
        $routes->get('/', 'Blogs::index');
        $routes->get('new', 'Blogs::new');
    }
);

PHPCS

包含适用于 CodeIgniter 组织的所有规则默认实例

composer run fix

PSR4

App/Config/Autoload.php 中,您可以配置您的自定义命名空间

public $psr4 = [
    "Blogs" => APPPATH . "Modules/Blogs", // Example 
    // ...
];