maximzhurkin / containers

此包的最新版本(1.0.0)没有可用的许可证信息。

Laravel的简单容器结构

1.0.0 2024-09-03 13:32 UTC

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