An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          


Elephox Logo


This is a library project providing building blocks for building your own PHP application.


GitHub Workflow Status
License
Current Version
PHP Version Require


Psalm Level
Type Coverage
Coverage Status
Mutation Score Indicator

## 📚 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:

[![Elephox Framework](https://img.shields.io/badge/framework-Elephox-blue?style=flat)](https://elephox.dev)

Replace the value of the `style` parameter for different styles (`flat`, `flat-square`, `plastic`, `for-the-badge`).

```markdown
[![Elephox Framework](https://img.shields.io/badge/framework-Elephox-blue?style=flat)](https://elephox.dev)
```
```html
Elephox Framework
```

## 📋 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)