Laravel Beyond CRUD 教程
1、项目介绍
Laravel Beyond CRUD 是一个受 Spatie 的 "Laravel Beyond CRUD" 和 Ryuta Hamasaki 的 "Modularising the Monolith" 启发的 Laravel 包。该包旨在帮助开发者在使用 "Laravel Beyond CRUD" 方法构建应用程序时,轻松创建类。在版本 7 中,Laravel Beyond CRUD 改变了工作方式,不再改变 Laravel 的默认目录结构,而是在一个单独的 src
目录中放置 DDD 结构,以确保与其他 Laravel 相关包的兼容性。
2、项目快速启动
安装
首先,通过 Composer 安装 Laravel Beyond CRUD:
composer require --dev akrillia/laravel-beyond
配置命名空间
在 composer.json
文件中添加 Laravel Beyond CRUD 的命名空间:
{
"autoload": {
"psr-4": {
"App\\": "app/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/",
"Application\\": "src/Application",
"Domain\\": "src/Domain",
"Support\\": "src/Support"
}
}
}
运行以下命令以更新自动加载:
composer dump-autoload
创建类
使用 beyond:make
命令创建类:
php artisan beyond:make Domain/User/UserRepository
3、应用案例和最佳实践
应用案例
假设我们正在构建一个电子商务平台,我们可以使用 Laravel Beyond CRUD 来组织我们的代码结构。例如,我们可以为订单、产品和用户创建不同的域:
src/
├── Application
│ └── Orders
│ └── CreateOrderHandler.php
├── Domain
│ ├── Orders
│ │ └── Order.php
│ ├── Products
│ │ └── Product.php
│ └── Users
│ └── User.php
└── Support
└── helpers.php
最佳实践
- 分层结构:将应用程序分为应用层、领域层和支持层,以保持代码的清晰和可维护性。
- 单一职责原则:每个类和方法应只负责一个功能,以提高代码的可读性和可测试性。
- 依赖注入:使用依赖注入来管理类之间的依赖关系,以提高代码的灵活性和可扩展性。
4、典型生态项目
Laravel Beyond CRUD 可以与其他 Laravel 生态系统项目结合使用,例如:
- Laravel Horizon:用于管理队列工作。
- Laravel Telescope:用于调试和监控应用程序。
- Laravel Sanctum:用于 API 认证。
通过结合这些工具,可以构建一个强大且可维护的 Laravel 应用程序。
以上是 Laravel Beyond CRUD 的教程,希望对你有所帮助!