/laravel-beyond

Create Laravel classes in a domain driven way (insired by Spatie Laravel Beyond CRUD)

Primary LanguagePHPISC LicenseISC

Laravel Beyond

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.

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.

Installation

Install laravel-beyond with composer:

composer require --dev akrillia/laravel-beyond

Add Laravel Beyonds namespaces inside your composer.json:

{
 // ...
 "autoload": {
  "psr-4": {
   "App\\": "app/",
   "Database\\Factories\\": "database/factories/",
   "Database\\Seeders\\": "database/seeders/",
   "Application\\": "src/Application",
   "Domain\\": "src/Domain",
   "Support\\": "src/Support"
  }
 },
 // ...
}

Warning

Do not forget to run composer dump-autoload after adding the namespaces.

Documentation

Take a look at our documentation inside /docs to learn about the available commands and how to use them.

Directory structure

|- src
| |- Application
| | |- Admin
| | | |- Commands
| | | |- Controllers
| | | |- Jobs
| | | |- Policies
| | | |- Processes
| | | |- Queries
| | | |- Requests
| | | |- Resources
| |- Domain
| | |- User
| | | |- Actions
| | | |- Builder
| | | |- Collections
| | | |- DataObjects
| | | |- Enums
| | | |- Events
| | | |- Listeners
| | | |- Models
| | | |- Observers
| |- Support
| | |- Casts
| | |- Providers
| | |- Rules

Contributors

Maintainer Maintainer
Maintainer regnerisch Maintainer alexanderkroneis
@regnerisch @alexanderkroneis

Contributors:

License

ISC