apie / apie-lib
Monorepo of the Apie library
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 5
Type:project
Requires
- php: >=8.1
- cebe/php-openapi: ^1.7
- doctrine/orm: ^2.12
- fakerphp/faker: ^1.19
- giggsey/libphonenumber-for-php: ^8.0
- nette/php-generator: ^4.0.1
- nikic/php-parser: ^4.14
- niklongstone/regex-reverse: ^0.4.0
- nyholm/psr7: ^1.5
- prinsfrank/standards: ^1.0.0
- psr/http-message: ^1.0
- ramsey/uuid: ^4.3.1
- symfony/config: 6.*
- symfony/console: 6.*
- symfony/dependency-injection: 6.*
- symfony/finder: 6.*
- symfony/http-foundation: ^6.1
- symfony/http-kernel: 6.*
- symfony/mime: 6.*
- symfony/psr-http-message-bridge: 2.*
- symfony/routing: 6.*
- twig/twig: ^3.4.2
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.8
- league/openapi-psr7-validator: 0.18
- phpspec/prophecy-phpunit: ^2.0
- phpstan/phpstan: ^1.8.2
- phpunit/phpunit: ^9.5
- symfony/cache: ^6.0
- symfony/framework-bundle: 6.*
- symfony/phpunit-bridge: 6.*
- symfony/twig-bundle: 6.*
- symplify/monorepo-builder: 10.2.7
Replaces
- apie/apie-bundle: dev-main
- apie/apie-phpstan-rules: dev-main
- apie/cms: dev-main
- apie/cms-layout-graphite: dev-main
- apie/common: dev-main
- apie/common-value-objects: dev-main
- apie/composite-value-object: dev-main
- apie/composite-value-objects: dev-main
- apie/console: dev-main
- apie/core: *
- apie/country-and-phone-number: dev-main
- apie/date-value-objects: dev-main
- apie/dateformat-to-regex: dev-main
- apie/doctrine-entity-converter: dev-main
- apie/faker: dev-main
- apie/fixtures: dev-main
- apie/html-builders: dev-main
- apie/regex-value-objects: dev-main
- apie/rest-api: dev-main
- apie/schema-generator: dev-main
- apie/serializer: dev-main
- apie/text-value-objects: dev-main
This package is auto-updated.
Last update: 2024-03-16 14:33:07 UTC
README
Apie Lib
Apie is a suite of composer packages to work with domain objects. It tries to aim to follow a Domain-objects-first approach and not a database first approach that you find in many PHP frameworks nowadays.
Apie is very opinionated what a domain object is but following this opinion leads to some easy tooling in processing domain objects in a automated way instead of giving the programmer too many options.
Also since PHP 8.1 everything should be typehinted, which means a lot more can be automated.
Roadmap
The roadmap is visible on Github at https://github.com/orgs/apie-lib/projects/1/views/1. I try to get a stable 1.0 release. You are now displaying the main branch, which contains a very old version
Tooling examples
Some tooling possible with APIE:
. | . |
---|---|
Faking domain objects | For tests or seeding databases faking objects with proper contents is never made easier. If the faker enters wrong data, then it means your domain object is wrong. |
Restful API (WIP) | Create a full REST API by checking your Domain Objects. |
Creating Entities (WIP) | Doctrine is awesome, but using Doctrine entities result in a few problems if you try to process them as domain objects. We try to make a package to automatically convert domain objects in a doctrine database or viceversa. |
Naked Objects (WIP) | Creates a full CRUD for your Domain Objects. And again: if the interface sucks, then probably your domain object is wrong. |
You should read the introduction how Apie wants you to write domain objects and how it will help you in getting a quick