Yet another modern PHP framework. For PHP 8.1+ only. Features PSR-11 dependency injection with autowiring.
Currently in development with many pending TODOs littered throughout the code.
Applications utilizing this library should follow the PHP-PDS directory structure.
First, install development dependencies through composer:
composer install
Run static analysis:
composer analyze
Run tests:
composer test
PSR | Title | Status | Implementation |
---|---|---|---|
0 | Autoloading Standard | Deprecated | |
1 | Basic Coding Standard | Accepted | Enforced by PHPCS |
2 | Coding Style Guide | Deprecated | Enforced by PHPCS |
3 | Logger Interface | Accepted | No implementation |
4 | Autoloading Standard | Accepted | Implemented by Composer |
5 | PHPDoc Standard | Draft | |
6 | Caching Interface | Accepted | No implementation, in favor of PSR-16 |
7 | HTTP Message Interface | Accepted | No implementation |
8 | Huggable Interface | Abandoned | |
9 | Security Advisories | Abandoned | |
10 | Security Reporting Process | Abandoned | |
11 | Container Interface | Accepted | Implemented in src/Container/ , with autowiring |
12 | Extended Coding Style Guide | Accepted | Enforced by PHPCS, with exceptions |
13 | Hypermedia Links | Accepted | No implementation |
14 | Event Dispatcher | Accepted | No implementation |
15 | HTTP Handlers | Accepted | No implementation |
16 | Simple Cache | Accepted | Implemented in src/SimpleCache/ , with Redis backend |
17 | HTTP Factories | Accepted | No implementation |
18 | HTTP Client | Accepted | No implementation |
19 | PHPDoc tags | Draft | |
20 | Clock | Accepted | Implemented in src/Clock/ |
21 | Internationalization | Draft | |
22 | Application Tracing | Draft |
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this program. If not, see https://www.gnu.org/licenses/.