apie / apie-lib
Monorepo of the Apie library
Installs: 6
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 3
Type:composer-plugin
Requires
- php: >=8.3
- composer-plugin-api: ^2.0
- ext-mbstring: *
- apie/phpunit-matrix-data-provider: ^1.0.3
- apie/service-provider-generator: 0.11.3
- apie/type-converter: ^1.5.0
- beste/clock: ^3.0
- chillerlan/php-qrcode: ^5.0.2
- composer/composer: ^2.7.6
- composer/semver: ^3.4
- defuse/php-encryption: ^2.4
- devizzent/cebe-php-openapi: ^1.1.2
- doctrine/common: ^3.4.4
- doctrine/dbal: ^4.2.1
- doctrine/orm: ^3.3.1
- doctrine/persistence: ^3.1.0
- egulias/email-validator: ^4.0.2
- fakerphp/faker: ^1.23.1
- giggsey/libphonenumber-for-php: ^8.13.37
- guzzlehttp/psr7: ^2.4
- haydenpierce/class-finder: 0.5.3
- httpsoft/http-cookie: ^1.1.0
- laravel/framework: ^11.0.0
- maennchen/zipstream-php: ^3.0
- nette/php-generator: ^4.1.5
- nikic/php-parser: ^5.3.1
- niklongstone/regex-reverse: ^0.4.0|^0.5.0
- nyholm/psr7: ^1.8.2
- pragmarx/google2fa-qrcode: ^3.0
- prinsfrank/standards: ^3.3.0
- psr/http-message: ^1.1
- ramsey/uuid: ^4.7.6
- spomky-labs/otphp: ^11.3.0
- symfony/cache: ^7.2
- symfony/config: ^7.2
- symfony/console: ^7.2
- symfony/dependency-injection: ^7.2
- symfony/event-dispatcher: ^7.2
- symfony/finder: ^7.2
- symfony/html-sanitizer: ^7.2
- symfony/http-foundation: ^7.2
- symfony/http-kernel: ^7.2
- symfony/mime: ^7.2
- symfony/monolog-bundle: ^3.10
- symfony/psr-http-message-bridge: ^7.2
- symfony/routing: ^7.2
- symfony/security-core: ^7.2
- symfony/uid: ^7.2
- twig/twig: ^3.10.2
Requires (Dev)
- ext-sqlite3: *
- doctrine/doctrine-bundle: ^2.12.0
- friendsofphp/php-cs-fixer: ^3.58.1
- illuminate/support: *
- league/openapi-psr7-validator: 0.22
- orchestra/testbench: ^9.8.0
- phpspec/prophecy-phpunit: ^2.2
- phpstan/phpstan: ^2.0.4
- phpunit/phpcov: ^10.0.1
- phpunit/phpunit: ^11.5.2
- smalot/pdfparser: ^2.10
- symfony/doctrine-bridge: ^7.2
- symfony/framework-bundle: ^7.2
- symfony/phpunit-bridge: ^7.2
- symfony/security-bundle: ^7.2
- symfony/twig-bundle: ^7.2
- symfony/validator: ^7.2
- symplify/monorepo-builder: 10.2.7
Conflicts
- composer/ca-bundle: <1.5.4
- composer/pcre: <3.0.0
- guzzlehttp/promises: 1.*
- justinrainbow/json-schema: <5.3
- nette/utils: 3.*
- psy/psysh: <0.12.0
- respect/validation: 1.*
- symfony/clock: <7.0
- symfony/monolog-bridge: <7.0
- symfony/password-hasher: <7.0
- symfony/property-access: <7.0
- symfony/property-info: <7.0
- symfony/stopwatch: <7.0
- symfony/string: <7.0
- symfony/translation: <7.0
- symfony/twig-bridge: <7.0
- symfony/var-exporter: <7.0
- thecodingmachine/safe: 1.*
Replaces
- apie/apie-bundle: 1.0.0-RC1
- apie/apie-common-plugin: 1.0.0-RC1
- apie/apie-phpstan-rules: 1.0.0-RC1
- apie/cms: 1.0.0-RC1
- apie/cms-api-dropdown-option: 1.0.0-RC1
- apie/cms-layout-graphite: 1.0.0-RC1
- apie/cms-layout-ionic: 1.0.0-RC1
- apie/cms-layout-ugly: 1.0.0-RC1
- apie/common: 1.0.0-RC1
- apie/common-value-objects: 1.0.0-RC1
- apie/composite-value-object: 1.0.0-RC1
- apie/console: 1.0.0-RC1
- apie/core: *
- apie/count-words: 1.0.0-RC1
- apie/country-and-phone-number: 1.0.0-RC1
- apie/date-value-objects: 1.0.0-RC1
- apie/dateformat-to-regex: 1.0.0-RC1
- apie/doctrine-entity-converter: 1.0.0-RC1
- apie/doctrine-entity-datalayer: 1.0.0-RC1
- apie/doctrine-metadata-driver: 1.0.0-RC1
- apie/faker: 1.0.0-RC1
- apie/fixtures: 1.0.0-RC1
- apie/html-builders: 1.0.0-RC1
- apie/laravel-apie: 1.0.0-RC1
- apie/maker: 1.0.0-RC1
- apie/meta-maximum: 1.0.0-RC1
- apie/meta-minimal: 1.0.0-RC1
- apie/meta-recommended: 1.0.0-RC1
- apie/otp-value-objects: 1.0.0-RC1
- apie/regex-tools: 1.0.0-RC1
- apie/regex-value-objects: 1.0.0-RC1
- apie/rest-api: 1.0.0-RC1
- apie/schema-generator: 1.0.0-RC1
- apie/serializer: 1.0.0-RC1
- apie/storage-metadata: 1.0.0-RC1
- apie/storage-metadata-builder: 1.0.0-RC1
- apie/text-value-objects: 1.0.0-RC1
- apie/twig-template-layout-renderer: 1.0.0-RC1
This package is auto-updated.
Last update: 2025-03-28 15:29:29 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 everything should be typehinted, which means a lot more can be automated.
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