This is a pure learning project and proof of concept! NOT ready for production!
A hexagonal architecture is using ports and adapters to communicate and separate different layers of your application.
This application skeleton is trying to implement a hexagonal architecture using the goodies of the CakePHP framework.
- Learning something about software architecture
- Stay PSR compatible with all interfaces if possible
- Follow php-pds
- Using DI container
- Use IoC where it makes sense
- Typehint almost everything
- Using a command bus (but no CQRS)
- Clone the repository
git@github.com:burzum/hexagonal-cake.git
- Go into the folder
cd hexagonal-cake
- Run composer
composer install
- Copy
config/app.default.php
toconfig/app.php
- Configure the database connection in your
app.php
- Point your web server config for the host you are using to the
public
folder - Done
Check the docs folder of this repository.
- Books
- Martin Fowler: Patterns of Enterprise Application Architecture
- Links / Articles
- Videos
- Matthias Noback: Hexagonal Architecture - Message-Oriented Software Design
Copyright Florian Krämer
Licensed under the MIT License. Redistributions of the source code included in this repository must retain the copyright notice found in each file.