This package is inspired by "Laravel Beyond CRUD" from Spatie and "Modularising the Monolith" from Ryuta Hamasaki.
This package will help you with beyond:make
commands to easily create classes inside your "Laravel Beyond CRUD"
inspired application.
We try to implement commands as near as possible on their original make
counterparts.
In version 7 we changed the way how Laravel Beyond works. We now do no longer change Laravels default
directory structure, instead we place the DDD structure inside a separate src
directory. This ensures
compatibility with any other (Laravel related) package.
Please read our Upgrade Guide in case you are using an older version or regnerisch/laravel-beyond
.
Install laravel-beyond with composer
composer require --dev akrillia/laravel-beyond
After this you need to register the namespaces inside your composer.json
.
{
// ...
"autoload": {
"psr-4": {
"App\\": "app/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/",
"Application\\": "src/Application",
"Domain\\": "src/Domain",
"Infrastructure\\": "src/Infrastructure"
}
},
// ...
}
Now you still have to run composer dump-autoload
and everything is set up for using Laravel Beyond commands.
|- src
| |- Application
| | |- Admin
| | | |- Controllers
| | | |- Commands
| | | |- Filters
| | | |- Jobs
| | | |- Middleware
| | | |- Providers
| | | |- Queries
| | | |- Requests
| | | |- Resources
| | | |- routes.php
| |- Domain
| | |- User
| | | |- Actions
| | | |- Collections
| | | |- DataTransferObjects
| | | |- Events
| | | |- Exceptions
| | | |- Listeners
| | | |- Models
| | | |- Observers
| | | |- Policies
| | | |- Rules
| | | |- States
| | | |- ValueObjects
| |- Infrastructure
| | |- User
| | | |- Factories
| | | |- Migrations
| | | |- Seeders
This command will create a new action class inside your domain.
php artisan beyond:make:action Users.CreateUserAction
Options
Name | Description |
---|---|
--force |
Create the class even if the action already exists |
This command will create a new eloquent builder class inside your domain.
php artisan beyond:make:builder Users.UserBuilder
Options
Name | Description |
---|---|
--force |
Create the class even if the eloquent builder already exists |
This command will create a new collection class inside your domain.
php artisan beyond:make:collection Users.UserCollection
Options
Name | Description |
---|---|
--model= |
Will create a model related collection |
--force |
Create the class even if the collection already exists |
This command will create a new command class inside your console application.
php artisan beyond:make:command SyncUsersCommand
Options
Name | Description |
---|---|
--command= |
Will use given command:name schema for new command |
--force |
Create the class even if the command already exists |
This command will create a new action class inside your application.
php artisan beyond:make:controller User.Admin/UserController
Options
Name | Description |
---|---|
--api |
Will overwrite an API controller |
-i , --invokable
|
Generate a single method, invokable controller class. |
--force |
Create the class even if the controller already exists |
This command will create a new enum class inside your domain.
php artisan beyond:make:enum Users/UserStatusEnum
Options
Name | Description |
---|---|
--force |
Create the class even if the enum already exists |
This command will create a new event class inside your application.
php artisan beyond:make:event Users/UserCreatedEvent
Options
Name | Description |
---|---|
--force |
Create the class even if the event already exists |
This command will create a new data transfer object class inside your domain.
php artisan beyond:make:dto Users/UserData
Options
Name | Description |
---|---|
--force |
Create the class even if the data transfer object already exists |
This command will create a new data transfer object factory class inside your application.
php artisan beyond:make:dto-factory Admin/User/UserDataFactory
Options
Name | Description |
---|---|
--dto |
Generate a DTO factory for the given DTO |
--force |
Create the class even if the DTO factory already exists |
This command will create a new job class inside your application.
php artisan beyond:make:job Admin/Users/SyncUsersJob
Options
Name | Description |
---|---|
--force |
Create the class even if the job already exists |
This command will create a new listener class inside your domain.
php artisan beyond:make:listener Users/UserCreatedListener
Options
Name | Description |
---|---|
--force |
Create the class even if the listener already exists |
This command will create a new middleware class inside your application.
php artisan beyond:make:middleware Admin/Users/IdentifyUserMiddleware
Options
Name | Description |
---|---|
--force |
Create the class even if the middleware already exists |
--support |
Will create a middleware in Support namespace |
This command will create a new model class inside your domain.
php artisan beyond:make:model Users/User
Options
Name | Description |
---|---|
-f , --factory
|
Will create a factory for this model |
-m , --migration
|
Will create a migration for this model |
--force |
Create the class even if the model already exists |
This command will create a new observer class inside your domain.
php artisan beyond:make:observer Users/UserObserver
Options
Name | Description |
---|---|
--force |
Create the class even if the observer already exists |
This command will create a new policy class inside your domain.
php artisan beyond:make:policy Users/UserPolicy
Options
Name | Description |
---|---|
--model= |
Will create a policy for the given model |
--force |
Create the class even if the policy already exists |
This command will create a new query class inside your domain.
php artisan beyond:make:query Admin/Users/UserIndexQuery
Options
Name | Description |
---|---|
--force |
Create the class even if the query builder already exists |
This command will create a new request class inside your application.
php artisan beyond:make:request Admin/Users/CreateUserRequest
Options
Name | Description |
---|---|
--force |
Create the class even if the request already exists |
This command will create a new resource class inside your application.
php artisan beyond:make:resource Admin/Users/UserResource
Options
Name | Description |
---|---|
--collection |
Will create a collection |
--force |
Create the class even if the resource already exists |
This command will create a new route file inside your routes folder.
php artisan beyond:make:route Users
Options
Name | Description |
---|---|
--force |
Create the class even if the route already exists |
This command will create a new rule class inside your application.
php artisan beyond:make:rule Admin/Users/IsAdminRule
Options
Name | Description |
---|---|
--force |
Create the class even if the rule already exists |
--support |
Will create a middleware in Support namespace |
This command will create a new trait class inside your application.
php artisan beyond:make:trait HasActivationCodeTrait
Options
Name | Description |
---|---|
--force |
Create the trait even if the trait already exists |
This command will create a new service provider class.
php artisan beyond:make:provider UserServiceProvider
Options
Name | Description |
---|---|
--force |
Create the class even if the service provider already exists |
This command will setup a default Laravel installation into a DDD structure.
php artisan beyond:setup
Options
Name | Description |
---|---|
--force |
Create the class even if the class already exists |
--skip-delete |
Will skip the deletion of app directory |
beyond:make:filter
beyond:make:exception
beyond:make:state
beyond:make:value-object
-
beyond:make:factory
(?) -
beyond:make:migration
(?) -
beyond:make:seeder
(?) -
beyond:make:test
(?)
- Update command documentation