Skip to content

Add domain driven commands to laravel and support domain driven to laravel makes commands.

License

Notifications You must be signed in to change notification settings

domain-driven-laravel/commands

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Laravel support for domain driven design

Latest Version on Packagist License

PHP from Packagist Total Downloads

This packages makes it possible to use laravel artisan commands if you are using Laravel in a domain driven approach. We will still support every flag and option possible for the command by following the Laravel documentation. Since everyone is using their own way of Domain Driven Design the defaults are set to my structure but can be easily override using the config. Please check the config section for more information.

This package is also adding a lot of custom commands just to help you to develop Laravel in Domain Driven Approach

Installation

composer require --dev domain-driven-laravel/commands

Configuration

By default, we are following the domain driven approach of my choice. But to make this package usable for everyone we encourage you to publish the config and tweak this package the way you want to use domain driven design.

sail artisan vendor:publish --tag=ddd-commands

Default config

Config explanation is added inside the published ddd-commands.php file

App layer Commands:

If you are not using sail please replace "sail" with "php" in commands below

Command Default output path Documentation
sail artisan make:resource {app_layer} {domain} {name} src/App/{app_layer}/{domain}/Resources Laravel Documentation

Domain Commands:

If you are not using sail please replace "sail" with "php" in commands below

Command Default output path Documentation
sail artisan make:model {domain} {name} src/Domain/{domain}/Models Laravel Documentation
sail artisan make:job {domain} {name} src/Domain/{domain}/Jobs Laravel Documentation
sail artisan make:mail {domain} {name} src/Domain/{domain}/Mails Laravel Documentation
sail artisan make:action {domain} {name} src/Domain/{domain}/Actions (None yet)
sail artisan make:dto {domain} {name} src/Domain/{domain}/DataTransferObjects (None yet)