Tempest is a community-driven, modern PHP framework that gets out of your way and dares to think outside the box. Read the documentation to get started.
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:
finalclass BookController
{
#[Get('/books/{book}')]
publicfunctionshow(Book$book): Response
{
returnnewOk($book);
}
#[Post('/books')]
publicfunctionstore(CreateBookRequest$request): Response
{
$book = map($request)->to(Book::class)->save();
returnnewRedirect([self::class, 'show'], book: $book->id);
}
// …
}finalclass MigrateUpCommand
{
publicfunction__construct(
privateConsole$console,
privateMigrationManager$migrationManager,
) {}
#[ConsoleCommand(
name: 'migrate:up',
description: 'Run all new migrations',
middleware: [ForceMiddleware::class, CautionMiddleware::class],
)]
publicfunction__invoke(): void
{
$this->migrationManager->up();
$this->console->success("Everything migrated");
}
#[EventHandler]
publicfunctiononMigrationMigrated(MigrationMigrated$migrationMigrated): void
{
$this->console->writeln("- {$migrationMigrated->name}");
}
}Read how to get started with Tempest here.
Create a Tempest project from scratch:
composer create-project tempest/app <name>
Or install Tempest in any existing project:
composer require tempest/framework
Continue to read how Tempest works in the docs.
We welcome contributing to Tempest! We only ask that you take a quick look at our guidelines.
An easy way to get started is to head on over to the issues page to see some ways you might help out.
Check out the documentation
·
Join the Discord server