A simple package to set up domains for your applications.
To install through composer, run the following command from terminal:
composer require supplycart/domains
Then publish config using:
php artisan vendor:publish
You can set up a domain by creating a domain class which extends Supplycart\Domains\Domain
and register it inside domains.php
config file like this:
<?php
return [
'modules' => [
App\Domains\User\UserDomain::class
]
];
The folder structure suggested is as below:
app/
- Domains/
- User/
- database/
- migrations/
- Events/
- Http/
- Controllers/
- routes.php # all routes in here
- Jobs/
- Listeners/
- Models/
- Policies/
- UserDomain.php # your domain class
- Cart
...
- Order
...
Command to populate domain folder
php artisan make:domain DomainName
To populate events, listeners and jobs you may pass in the --queues
argument.
php artisan make:domain DomainName --queues
To create migrations for your domain, run the following command from terminal:
php artisan domain:make-migration DomainName MigrationName
To create controllers for your domain, run the following command from terminal:
php artisan domain:make-controller DomainName ControllerName
To make an invokable controller you may pass in --invokable
argument.
php artisan domain:make-controller DomainName ControllerName --invokable