Skip to content

tempestphp/tempest-framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tempest

The PHP framework that lets you focus on your application code instead of framework quirks.
Read the documentation to get started.


Introduction

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

Create a Tempest project from scratch:

composer create-project tempest/app:1.0-alpha.4 <name>

Or install Tempest in any existing project:

composer require tempest/framework:1.0-alpha.4

Continue to read how Tempest works in the docs.

 

Contributing

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