Warning: This documentation is a work in progress.
Currently, it is compatible with PHP 7.4 ans Symfony 5.4.
This is the documentation for the project.
Architecture Decision Records (ADRs) are a way to document the architectural decisions made during the development of the project. List of ADRs can be found here.
Primitives are the basic building blocks of the project. They are the smallest units of the project that can be used to build more complex structures. List of primitives can be found here.
In this project, we use the Null Object Pattern to handle nullable values. You can read more about it here.
Use the Atournayre\Contracts\DateTimeInterface
instead of the \DateTimeInterface
class to represent dates and times.
Use the Atournayre\Contracts\LoggerInterface
to log messages in the project.
Usage or arrays is discouraged in the project. Use Collections instead. You can read more about it here.
Use the Atournayre\Contracts\HttpInterface
, Atournayre\Contracts\SessionInterface
, and Atournayre\Contracts\TemplatingInterface
to interact with the HTTP protocol, manage sessions, and render templates.
Use the Atournayre\Contracts\FilesystemInterface
to interact with the filesystem.
Add the HasEventsInterface
to an object to allow it to dispatch events and add the EventsTrait
to add events to an object.
Implement missing methods from the HasEventsInterface
in the object.