Download the PHP package salehhashemi/laravel-domain-expert without Composer
On this page you can find all versions of the php package salehhashemi/laravel-domain-expert. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download salehhashemi/laravel-domain-expert
More information about salehhashemi/laravel-domain-expert
Files in salehhashemi/laravel-domain-expert
Package laravel-domain-expert
Short Description An intuitive Laravel package to streamline Domain Driven Development by simplifying domain creation, management, and organization within your applications.
License MIT
Homepage https://github.com/salehhashemi1992/laravel-domain-expert
Informations about the package laravel-domain-expert
Laravel Domain Expert
Laravel Domain Expert is a package that helps you create and manage domain-driven directory structures in your Laravel application. It automates the process of setting up a new domain with the necessary folders, a controller, and a simple route file with a route group and a domain prefix.
AI-Powered Domain Recommendation
Laravel Domain Expert includes an AI-powered domain recommendation feature that helps you automatically group and organize your existing controllers and models into domain-driven structures.
To use this feature, run the following command:
The AI will guess the purpose of your application and provide a well-structured organization without requiring any additional input from the user.
Sample output of AI system
Installation
To install Laravel Domain Expert, you can use Composer:
Usage
Creating a new domain
To create a new domain directory structure, run the following command:
Replace DomainName with the desired name for your domain.
The command will create a domain directory structure in your Laravel application, including a sample controller and a simple route file with a route group and a domain prefix.
Domain Structure
When you create a new domain using the php artisan make:domain DomainName
command, the following directory structure will be generated:
This structure helps you organize your code in a domain-driven manner, making it easier to manage and maintain as your application grows.
Creating controllers within a domain
To create a new controller within a specific domain, use the -d or --domain flag:
or
When using the -d or --domain flag, you will be prompted to select the domain you'd like to create the controller in.
Other commands
You can do the same routine to make:
-
observers
- models
Auto-loading Routes and Views
The package includes built-in support for automatically loading routes and views for each domain. When your package is installed and the service provider is registered, the DomainAutoScanServiceProvider class will scan the Domains directory and automatically discover and load the route and view files for each domain.
Example: Calling views in controllers
To reference a view within a domain, use the domain name as the namespace, followed by two colons and the view file path. Here's an example of how to call a view in a controller:
Testing
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Credits
- Saleh Hashemi
- All Contributors
License
The MIT License (MIT). Please see License File for more information.