Skip to content

Laravel package to transform your Laravel application to DDD (inspired by Laravel beyond CRUD by Spatie)

License

Notifications You must be signed in to change notification settings

ducnm9/laravel-beyond

 
 

Repository files navigation

Laravel Beyond

This package is heavily inspired by "Laravel Beyond CRUD" from Spatie. You should check out their website.

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.

Upgrade Guide

Please read our Upgrade Guide in case you are using version 3.x.

Installation

Install laravel-beyond with composer

composer require --dev regnerisch/laravel-beyond

Usage

Commands

beyond:make:action

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

beyond:make:builder

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

beyond:make:collection

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

beyond:make:command

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

beyond:make:controller

This command will create a new action class inside your application.

php artisan beyond:make:controller Admin/Users/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

beyond:make:enum

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

beyond:make:event

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

beyond:make:dto

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

beyond:make:dto-factory Admin/User/UserDataFactory

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

beyond:make:job

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

beyond:make:listener

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

beyond:make:middleware

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

beyond:make:model

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

beyond:make:policy

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

beyond:make:query requires spatie/laravel-query-builder

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

beyond:make:request

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

beyond:make:resource

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

beyond:make:route

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

beyond:make:rule

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

beyond:make:provider

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

beyond:setup

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

Set up a domain-driven application

After installing laravel-beyond you can easily set up a domain-driven application. You just need to run php artisan beyond:setup on a fresh Laravel application or php artisan beyond:setup --skip-delete to keep you app directory with your existing code.

Do not forget to run composer dump-autoload after. So the new namespaces can be found properly.

Contributors

License

ISC

About

Laravel package to transform your Laravel application to DDD (inspired by Laravel beyond CRUD by Spatie)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%