maximzhurkin / containers
Laravel的简单容器结构
Requires
- php: >=8.1
This package is auto-updated.
Last update: 2024-09-03 13:36:16 UTC
README
一个包含方便Laravel项目结构的命令包
containers
├── Order
│ ├── Actions
│ │ ├── ListOrdersAction.php
│ │ └── ListOrderStatusesAction.php
│ ├── Contracts
│ │ ├── OrderRepositoryContract.php
│ │ └── OrderStatusRepositoryContract.php
│ ├── Data
│ │ ├── Factories
│ │ │ ├── OrderFactory.php
│ │ │ └── OrderStatusFactory.php
│ │ ├── Migrations
│ │ │ ├── 2024_06_14_123402_create_orders_table.php
│ │ │ └── 2024_06_14_135011_create_order_statuses_table.php
│ │ ├── Repositories
│ │ │ ├── OrderRepository.php
│ │ │ └── OrderStatusRepository.php
│ │ └── Seeders
│ │ ├── OrderSeeder.php
│ │ └── OrderStatusSeeder.php
│ ├── Http
│ │ ├── Controllers
│ │ │ ├── OrderController.php
│ │ │ └── OrderStatusController.php
│ │ ├── Requests
│ │ │ ├── StoreOrderRequest.php
│ │ │ ├── StoreOrderStatusRequest.php
│ │ │ ├── UpdateOrderRequest.php
│ │ │ └── UpdateOrderStatusRequest.php
│ │ └── Routing
│ │ ├── OrderRouting.php
│ │ └── OrderStatusRouting.php
│ ├── Models
│ │ ├── Order.php
│ │ └── OrderStatus.php
│ ├── Providers
│ │ ├── OrderProvider.php
│ │ └── OrderStatusProvider.php
│ └── Tests
│ ├── Feature
│ │ ├── OrderTest.php
│ │ └── OrderStatusTest.php
│ └── Unit
│ ├── OrderTest.php
│ └── OrderStatusTest.php
└── User
└── ...
安装
使用composer安装Containers
composer require maximzhurkin/containers --dev
发布供应商配置
php artisan vendor:publish --provider="Maximzhurkin\Containers\Providers\ContainerServiceProvider"
在bootstrap/providers.php中添加提供者
use Maximzhurkin\Containers\Providers\ContainerServiceProvider; use Maximzhurkin\Containers\Providers\RouteServiceProvider; return [ AppServiceProvider::class, ContainerServiceProvider::class, RouteServiceProvider::class, ];
在phpunit.xml中添加测试路径
<testsuites> <testsuite name="Unit"> <directory>containers/*/Tests/Unit</directory> </testsuite> <testsuite name="Feature"> <directory>containers/*/Tests/Feature</directory> </testsuite> </testsuites>
使用
创建容器
php artisan app:container Order
这将在containers/Order文件夹中创建文件
将创建的提供者添加到bootstrap/providers.php配置文件中
use Containers\Order\Providers\OrderProvider; return [ //... OrderProvider::class, ];
将创建的路由类添加到config/containers.php配置文件中
use Containers\Order\Http\Routing\OrderRouting; return [ 'routes' => [ OrderRouting::class, ], ];
其他命令
创建现有容器的新容器
php artisan app:container OrderStatus Order
创建控制器
php artisan app:controller User
containers/User/Http/Controllers/UserController.php
创建操作
php artisan app:action User
containers/User/Actions/UserAction.php
警告
指定实体的名称,以便存储库能够采用正确的名称,然后将其重命名为特定的操作。
创建工厂
php artisan app:factory User
containers/User/Data/Factories/UserFactory.php
创建迁移
php artisan app:migration User
containers/User/Data/Migrations/202406141352_create_users_table.php
创建种子
php artisan app:seeder User
containers/User/Data/Seeders/UserSeeder.php
创建模型
php artisan app:model User
containers/User/Models/User.php
创建提供者
php artisan app:provider User
containers/User/Providers/UserProvider.php
创建存储库
php artisan app:repository User
containers/User/Contracts/UserRepositoryContract.php
containers/User/Data/Repositories/UserRepository.php
创建请求
php artisan app:request User
containers/User/Http/Requests/UserRequest.php
创建路由
php artisan app:routing User
containers/User/Http/Routing/UserRouting.php
创建测试
php artisan app:test User
containers/User/Tests/Feature/UserTest.php
containers/User/Tests/Unit/UserTest.php