Skip to content

Xammie/tempest-framework

 
 

Repository files navigation

The PHP framework that gets out of your way.

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.4

Or create a Tempest project from scratch:

composer create-project tempest/app:1.0-alpha.4 <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

About

The PHP framework that gets out of your way 🌊

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 99.7%
  • Other 0.3%