https://github.com/elephox-dev/framework
A type-safe PHP framework.
https://github.com/elephox-dev/framework
dependency-injection framework php type-safety
Last synced: about 2 months ago
JSON representation
A type-safe PHP framework.
- Host: GitHub
- URL: https://github.com/elephox-dev/framework
- Owner: elephox-dev
- License: mit
- Created: 2021-10-28T09:09:43.000Z (over 4 years ago)
- Default Branch: develop
- Last Pushed: 2025-10-08T23:36:49.000Z (6 months ago)
- Last Synced: 2025-11-15T17:15:25.301Z (5 months ago)
- Topics: dependency-injection, framework, php, type-safety
- Language: PHP
- Homepage:
- Size: 3.89 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
This is a library project providing building blocks for building your own PHP application.
## 📚 Documentation
Visit [elephox.dev](https://elephox.dev) for the documentation.
## 🎯 Goals
Take a look at the goals for the first stable release here: [Milestone 1](https://github.com/elephox-dev/framework/milestone/1)
The overall project goals and future planning is done in the [GitHub projects for this repository](https://github.com/elephox-dev/framework/projects).
## ✨ Contributing
Contributions in all forms are welcome. Make sure to read [elephox.dev/contributing](https://elephox.dev/contributing) for the details.
## 🏷️ Get the Badge
Using Elephox in your project? Add a badge to your README:
[](https://elephox.dev)
Replace the value of the `style` parameter for different styles (`flat`, `flat-square`, `plastic`, `for-the-badge`).
```markdown
[](https://elephox.dev)
```
```html
```
## 📋 Source code annotations
### ✅ To Do
- [ ] [modules/Collection/src/ArrayList.php](https://github.com/elephox-dev/framework/tree/features/better-scopes/modules/Collection/src/ArrayList.php)
- [ ] replace generic enumerable function with array-specific functions where possible
- [ ] [modules/Collection/src/ArrayMap.php](https://github.com/elephox-dev/framework/tree/features/better-scopes/modules/Collection/src/ArrayMap.php)
- [ ] replace generic enumerable function with array-specific functions where possible
- [ ] [modules/Collection/src/ArraySet.php](https://github.com/elephox-dev/framework/tree/features/better-scopes/modules/Collection/src/ArraySet.php)
- [ ] replace generic enumerable function with array-specific functions where possible
- [ ] [modules/Collection/src/IsKeyedEnumerable.php](https://github.com/elephox-dev/framework/tree/features/better-scopes/modules/Collection/src/IsKeyedEnumerable.php)
- [ ] rewrite more functions to use iterators
- [ ] [modules/Collection/src/Iterator/OrderedIterator.php](https://github.com/elephox-dev/framework/tree/features/better-scopes/modules/Collection/src/Iterator/OrderedIterator.php)
- [ ] cache keys so they won't have to be re-calculated
- [ ] [modules/Collection/src/ObjectSet.php](https://github.com/elephox-dev/framework/tree/features/better-scopes/modules/Collection/src/ObjectSet.php)
- [ ] use this style of assertion error messages for all assertions
- [ ] [modules/DI/src/ServiceDescriptor.php](https://github.com/elephox-dev/framework/tree/features/better-scopes/modules/DI/src/ServiceDescriptor.php)
- [ ] Update TImplementation to extend TService once vimeo/psalm#7795 is resolved.
- [ ] [modules/Files/test/DirectoryTest.php](https://github.com/elephox-dev/framework/tree/features/better-scopes/modules/Files/test/DirectoryTest.php)
- [ ] add test for symlink
- [ ] [modules/Http/test/GeneratesResponsesTest.php](https://github.com/elephox-dev/framework/tree/features/better-scopes/modules/Http/test/GeneratesResponsesTest.php)
- [ ] Add test for both cases in which mime_content_type exists and not
- [ ] [modules/Logging/test/SimpleFormatColorSinkTest.php](https://github.com/elephox-dev/framework/tree/features/better-scopes/modules/Logging/test/SimpleFormatColorSinkTest.php)
- [ ] write tests for background and options
- [ ] [modules/Web/src/WebApplication.php](https://github.com/elephox-dev/framework/tree/features/better-scopes/modules/Web/src/WebApplication.php)
- [ ] use services from scoped service provider
### ⚠️ Fixes
- [ ] [modules/Collection/src/IsEnumerable.php](https://github.com/elephox-dev/framework/tree/features/better-scopes/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/Web/src/Middleware/DefaultNotFoundHandler.php](https://github.com/elephox-dev/framework/tree/features/better-scopes/modules/Web/src/Middleware/DefaultNotFoundHandler.php)
- [ ] use a standardized schema for errors in json
### 🚧 Related issues
- [vimeo/psalm](https://github.com/vimeo/psalm)
- [#7795](https://github.com/vimeo/psalm/issues/7795)