simpletine / hmvc-shield

提供模块化HMVC(分层模型-视图-控制器)架构,适用于CodeIgniter 4,集成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仪表板,为可扩展和安全的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 

管理员

命令的附加选项

使用AdminLTEAdmin模块创建一个新的控制器和视图

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 
    // ...
];