elephox / framework
A type-safe PHP framework.
0.8.0
2022-10-31 21:32 UTC
Requires
- php: ^8.1 <8.3
- ext-ctype: *
- ext-json: *
- ext-mbstring: *
- elephox/mimey: ^4.0
- jetbrains/phpstorm-attributes: ^1.0
- psr/cache: ^3.0
- psr/container: ^2.0
- psr/log: ^3.0
- ricardoboss/php-console-logger: ^2.3
- stella-maris/clock: ^0.1
- symfony/process: ^6.1
- vlucas/phpdotenv: ^5.5
Requires (Dev)
- doctrine/orm: ^2.11
- elephox/builder-whoops-handler: dev-develop
- elephox/builder-whoops-middleware: dev-develop
- elephox/composer-module-sync: ^1.5
- ergebnis/composer-normalize: dev-main
- friendsofphp/php-cs-fixer: dev-master
- infection/infection: ^0.26
- mockery/mockery: ^1.5
- nunomaduro/collision: ^6.2
- phpbench/phpbench: ^1.2
- phpunit/phpunit: ^9.5
- psalm/plugin-phpunit: ^0.16
- roave/no-leaks: ^1.3
- vimeo/psalm: ^5.0.0-beta1
Suggests
- ext-fileinfo: To get the mime type of a file
Provides
Replaces
- elephox/autoloading: 0.8.0
- elephox/cache: 0.8.0
- elephox/clock: 0.8.0
- elephox/collection: 0.8.0
- elephox/configuration: 0.8.0
- elephox/console: 0.8.0
- elephox/di: 0.8.0
- elephox/events: 0.8.0
- elephox/files: 0.8.0
- elephox/http: 0.8.0
- elephox/logging: 0.8.0
- elephox/oor: 0.8.0
- elephox/stream: 0.8.0
- elephox/support: 0.8.0
- elephox/web: 0.8.0
- dev-develop
- 0.8.0
- 0.8.0-alpha2
- 0.8.0-alpha1
- v0.7.0
- v0.6.0
- v0.5.0
- v0.4.3
- v0.4.2
- v0.4.1
- v0.4.0
- 0.4.0-alpha5
- 0.4.0-alpha4
- 0.4.0-alpha3
- 0.4.0-alpha2
- 0.4.0-alpha1
- 0.3.27
- v0.3.26
- v0.3.25
- v0.3.24
- v0.3.23
- v0.3.22
- v0.3.21
- v0.3.20
- v0.3.19
- v0.3.18
- v0.3.17
- v0.3.16
- v0.3.15
- v0.3.14
- v0.3.13
- v0.3.12
- v0.3.11
- v0.3.10
- v0.3.9
- v0.3.8
- v0.3.7
- v0.3.6
- v0.3.5
- v0.3.4
- v0.3.3
- v0.3.1
- v0.3
- v0.2.0
- v0.1.0
- dev-release/0.8
- dev-release/0.6
- dev-release/0.5
- dev-release/0.4
- dev-release/0.3
- dev-goal/promises
This package is auto-updated.
Last update: 2023-03-07 09:31:38 UTC
README
This is a library project providing building blocks for building your own PHP application.
📚 Documentation
Visit elephox.dev for the documentation.
🎯 Goals
Take a look at the goals for the first stable release here: Milestone 1
The overall project goals and future planning is done in the GitHub projects for this repository.
✨ Contributing
Contributions in all forms are welcome. Make sure to read elephox.dev/contributing for the details.
🏷️ Get the Badge
Using Elephox in your project? Add a badge to your README:
Replace the value of the style
parameter for different styles (flat
, flat-square
, plastic
, for-the-badge
).
[](https://elephox.dev)
<a href="https://elephox.dev"><img alt="Elephox Framework" src="https://img.shields.io/badge/framework-Elephox-blue?style=flat"></a>
📋 Source code annotations
✅ To Do
- modules/Collection/src/ArrayList.php
- replace generic enumerable function with array-specific functions where possible
- modules/Collection/src/ArrayMap.php
- replace generic enumerable function with array-specific functions where possible
- modules/Collection/src/ArraySet.php
- replace generic enumerable function with array-specific functions where possible
- modules/Collection/src/IsKeyedEnumerable.php
- rewrite more functions to use iterators
- modules/Collection/src/Iterator/OrderedIterator.php
- cache keys so they won't have to be re-calculated
- modules/Collection/src/ObjectSet.php
- use this style of assertion error messages for all assertions
- modules/DI/src/ServiceResolver.php
- implement positional overrides with integer keys in $overrides
- add support for disjunctive normal form types (https://wiki.php.net/rfc/dnf_types)
- modules/Http/test/GeneratesResponsesTest.php
- Add test for both cases in which mime_content_type exists and not
- modules/Logging/test/SimpleFormatColorSinkTest.php
- write tests for background and options
- modules/Web/src/Routing/InvalidRequestController.php
- change message to be more general and/or create more specific exceptions
⚠️ Fixes
- modules/Collection/src/IsArrayEnumerable.php
- this seems to be worse than the generic implementation in IsEnumerable (according to phpbench). This can be improved.
- modules/Collection/src/IsEnumerable.php
- de-duplicate code from IsEnumerable and IsKeyedEnumerable where possible (move iterator creation to trait and return self with created iterator)
🤔 Maybe
- modules/Collection/src/Iterator/ReverseIterator.php
- only reverse key order if key is numeric