simpletine / codeigniter4-hmvc-shield
为 CodeIgniter 4 提供模块化 HMVC(分层模型-视图-控制器)架构,集成 CodeIgniter 4 Shield,并使用 AdminLTE 构建,为可扩展的 Web 应用程序提供强大的基础。
Requires
- php: ^7.4 || ^8.0
- codeigniter4/framework: ^4.0
- codeigniter4/shield: dev-develop
Requires (Dev)
- codeigniter/coding-standard: ^1.7
- fakerphp/faker: ^1.23.1
- mikey179/vfsstream: ^1.6
- phpstan/phpstan: 2.0.x-dev
- phpunit/phpunit: ^9.1
- squizlabs/php_codesniffer: *
This package is auto-updated.
Last update: 2024-09-11 17:17:21 UTC
README
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.php
和 spark
文件(升级到 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 // ... ];