Looking to hire Laravel developers? Try LaraJobs

laravel-hexagonal maintained by innovartingsas

Description
Hexagonal architecture for Laravel
Last update
2023/02/19 04:27 (dev-main)
License
Links
Downloads
272

Comments
comments powered by Disqus

Laravel Hexagonal

Latest Version on Packagist Total Downloads Software License

Laravel package that allows modifying the folder structure proposed by Laravel in its initial installation by a structure based on Hexagonal Architecture.

Install

composer require innovartingsas/laravel-hexagonal --dev

Implementation

In the root project execute artisan command

php artisan hexagonal:install --folder={NAME_FOLDER} --app-namespace={APP_NAMESPACE}

Or use the short form

php artisan hexagonal:install -f {NAME_FOLDER} -a {APP_NAMESPACE}

The namespace is automatically added to the psr-4 key of the compose.json file.

All files and folders found in the app folder will be moved to the Infrastructure folder found inside the folder defined in the --folder option of the package installation command.


File structure created by the package

  • App Folder Name
    • Application
    • Domain
      • Entities
        • Traits
          • AddProps.php
          • DeleteProps.php
          • Serializable.php
        • BaseEntity.php
        • EntityId.php
    • Infrastructure
      • Console
      • Exceptions
      • Http
      • Models
      • Providers

Todo List

  • Add CommandBus Contract
  • Add Command and Handler Interface for UseCases
  • Add custom Container Class
  • Add binding for a CommandBus and Container Class
  • Add Contracts folder inside Domain folder
  • Add Repositories folder inside Domain folder
  • Add commands for the creation of entities, factories, repositories and use cases.

License

The Laravel Hexagonal Package is open-sourced software licensed under the MIT license.