jewei / tinyphp
A lightweight PHP framework focused on simplicity, clarity, and adherence to PSR standards.
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:project
Requires
- php: ^8.2
- ext-curl: *
- ext-json: *
- ext-pdo: *
- psr/container: ^2.0
Requires (Dev)
- laravel/pint: ^1.13
- pestphp/pest: ^2.24
- phpstan/phpstan: ^1.10
- rector/rector: ^0.18.6
- symfony/var-dumper: ^6.3
This package is auto-updated.
Last update: 2025-01-06 21:39:50 UTC
README
TinyPHP is a minimalistic PHP framework designed for learning PHP in-depth. It focuses on simplicity, clarity, and adheres to best practices and PSR standards.
Features
- PSR-11 Container: A simple yet powerful service container with auto-wiring support.
- Latest PHP Features: Utilizes modern PHP 8.2 features.
- Clean Codebase: Easy to read, understand, and extend.
- Static Analysis: Successfully passed PHPStan checks at the maximum level, ensuring a robust and bug-resistant codebase.
- Educational: A great tool for learning PHP in a hands-on manner.
Installation
composer create-project jewei/tinyphp:dev-main myapp
Usage
Registering Services
$app = new TinyPHP\Application; // Register a service $app->set(Config::class, Config::class); // Retrieve the service $config = $app->get(Config::class);
Auto-Wiring Dependencies
class Database { public function __construct(private Config $config) {} } $app->set(Config::class, Config::class); $app->set(Database::class, Database::class); // Retrieve the Database service, dependencies will be auto-wired $db = $app->get(Database::class); $db->config;
Testing
composer test
License
TinyPHP is licensed under the MIT License.