tempest / framework
The PHP framework that gets out of your way.
Fund package maintenance!
tempestphp
Installs: 1 913
Dependents: 2
Suggesters: 0
Security: 0
Stars: 1 124
Watchers: 18
Forks: 80
Open Issues: 60
Requires
- php: ^8.3
- ext-dom: *
- ext-fileinfo: *
- ext-libxml: *
- ext-mbstring: *
- ext-pdo: *
- ext-readline: *
- ext-simplexml: *
- doctrine/inflector: ^2.0
- egulias/email-validator: ^4.0.2
- filp/whoops: ^2.15
- giggsey/libphonenumber-for-php: ^8.13.40
- guzzlehttp/guzzle: ^7.8
- laminas/laminas-diactoros: ^3.3
- masterminds/html5: ^2.9
- monolog/monolog: ^3.7.0
- nette/php-generator: ^4.1.6
- nikic/php-parser: ^5.3
- nunomaduro/collision: ^8.4
- psr-discovery/http-client-implementations: 1.x-dev
- psr-discovery/http-factory-implementations: 1.x-dev
- psr/cache: ^3.0
- psr/clock: ^1.0.0
- psr/http-client: ^1.0.0
- psr/http-factory: ^1.0
- psr/http-message: ^1.0|^2.0
- psr/log: ^3.0.0
- ramsey/uuid: ^4.7
- symfony/cache: ^7.2
- symfony/var-dumper: ^7.1
- symfony/var-exporter: ^7.1
- tempest/highlight: ^2.0
- vlucas/phpdotenv: ^5.6
Requires (Dev)
- aidan-casey/mock-client: dev-master
- friendsofphp/php-cs-fixer: ^3.21
- guzzlehttp/psr7: ^2.6.1
- illuminate/view: ~11.7.0
- jenssegers/blade: ^2.0
- nyholm/psr7: ^1.8
- phpat/phpat: ^0.10.14
- phpstan/phpstan: ^1.10.0
- phpunit/phpunit: ^11.3.5
- rector/rector: ^1.2
- spatie/phpunit-snapshot-assertions: ^5.1.6
- spaze/phpstan-disallowed-calls: ^3.1
- symplify/monorepo-builder: ^11.2
Replaces
- tempest/auth: v1.0.0-alpha.3
- tempest/cache: v1.0.0-alpha.3
- tempest/clock: v1.0.0-alpha.3
- tempest/command-bus: v1.0.0-alpha.3
- tempest/console: v1.0.0-alpha.3
- tempest/container: v1.0.0-alpha.3
- tempest/core: v1.0.0-alpha.3
- tempest/database: v1.0.0-alpha.3
- tempest/debug: v1.0.0-alpha.3
- tempest/event-bus: v1.0.0-alpha.3
- tempest/generation: v1.0.0-alpha.3
- tempest/http: v1.0.0-alpha.3
- tempest/http-client: v1.0.0-alpha.3
- tempest/log: v1.0.0-alpha.3
- tempest/mapper: v1.0.0-alpha.3
- tempest/reflection: v1.0.0-alpha.3
- tempest/support: v1.0.0-alpha.3
- tempest/validation: v1.0.0-alpha.3
- tempest/view: v1.0.0-alpha.3
- dev-main
- v1.0.0-alpha.3
- v1.0.0-alpha.2
- v1.0.0-alpha.1
- dev-partial-discovery-cache
- dev-add-filesystem
- dev-schedulerer-binary-path
- dev-install-framework-improvements
- dev-install-main-namespace
- dev-setup-fixes
- dev-json-file-mapper
- dev-env-detection-improvements
- dev-path-component-fixes
- dev-path-fixes
- dev-path-refactor
- dev-exit-code-as-enum
- dev-exit-code-as-value-object
- dev-fix-rectooor
- dev-fix-uri-generation-bug
- dev-build-changed-packages
- dev-fixes-ci
- dev-queue-manager
This package is auto-updated.
Last update: 2024-11-22 11:44:32 UTC
README
Tempest is a PHP framework that gets out of your way. Its design philosophy is that developers should write as little framework-related code as possible, so that they can focus on application code instead. Zero config, zero overhead. This is Tempest:
final class BookController { #[Get('/books/{book}')] public function show(Book $book): Response { return new Ok($book); } #[Post('/books')] public function store(CreateBookRequest $request): Response { $book = map($request)->to(Book::class)->save(); return new Redirect([self::class, 'show'], book: $book->id); } // … }
final class MigrateUpCommand { public function __construct( private Console $console, private MigrationManager $migrationManager, ) {} #[ConsoleCommand( name: 'migrate:up', description: 'Run all new migrations', middleware: [ForceMiddleware::class, CautionMiddleware::class], )] public function __invoke(): void { $this->migrationManager->up(); $this->console->success("Everything migrated"); } #[EventHandler] public function onMigrationMigrated(MigrationMigrated $migrationMigrated): void { $this->console->writeln("- {$migrationMigrated->name}"); } }
Read how to get started with Tempest here.
Installation
Install Tempest in any project, including existing projects:
composer require tempest/framework:1.0-alpha.3
Or create a Tempest project from scratch:
composer create-project tempest/app:1.0-alpha.3 <name>
Continue to read how Tempest works in the docs.
Contributing
We welcome contributing to the Tempest framework! We only ask that you take a quick look at our guidelines and then head on over to the issues page to see some ways you might help out!
For more information, join the Tempest Discord