PHPackages                             zephyrus-framework/framework - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. zephyrus-framework/framework

ActiveProject[Framework](/categories/framework)

zephyrus-framework/framework
============================

Application template for the Zephyrus PHP framework — Docker-ready with controllers, Latte views, database, sessions, and mailer preconfigured.

00PHP

Since Mar 20Pushed 1mo agoCompare

[ Source](https://github.com/zephyrus-framework/framework)[ Packagist](https://packagist.org/packages/zephyrus-framework/framework)[ RSS](/packages/zephyrus-framework-framework/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Zephyrus — Application Template
===============================

[](#zephyrus--application-template)

[![License: MIT](https://camo.githubusercontent.com/08cef40a9105b6526ca22088bc514fbfdbc9aac1ddbf8d4e6c750e3a88a44dca/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d626c75652e737667)](LICENSE)

The official application template for the [Zephyrus](https://github.com/zephyrus-framework/core) PHP framework. Start a new project with a working structure — controllers, Latte views, database, sessions, mailer, and Docker — all preconfigured.

---

Quick Start
-----------

[](#quick-start)

```
composer create-project zephyrus-framework/framework my-app
cd my-app
cp .env.example .env
docker compose up
```

Then open .

Install dependencies inside the container on first run:

```
docker exec -it zephyrus_webserver composer install
```

---

Project Structure
-----------------

[](#project-structure)

```
app/
  Controllers/     Route controllers (auto-discovered via attributes)
  Models/          Domain models, services, brokers
  Views/           Latte templates
    layouts/       Layout templates
cache/
  latte/           Compiled template cache (auto-generated)
config.yml         Application configuration (YAML with !env tag support)
docker/            Docker service definitions
locale/            Translation files (JSON)
public/            Web root (Apache document root)
  index.php        Application entry point
  assets/          Static assets (CSS, JS, images, fonts)
sql/               Database initialization scripts
temp/              Temporary files

```

---

Configuration
-------------

[](#configuration)

All configuration lives in `config.yml`. Sensitive values use the `!env` tag to reference environment variables from `.env`:

```
database:
  host: !env DB_HOST, localhost
  password: !env DB_PASSWORD
```

Copy `.env.example` to `.env` and fill in your values. The example ships with working defaults for the Docker setup.

---

Docker Environment
------------------

[](#docker-environment)

The included `docker-compose.yml` provides:

ServicePortPurpose**PHP/Apache**`80`, `443`Application server (PHP 8.4)**PostgreSQL**`5432`Database (auto-initialized from `sql/init.sql`)**MailCatcher**`1080`Email testing UI (SMTP on `localhost:1025`)### Common Commands

[](#common-commands)

```
# Start the environment
docker compose up

# Run composer inside the container
docker exec -it zephyrus_webserver composer install
docker exec -it zephyrus_webserver composer update

# Reset the database (removes volume, re-runs init.sql)
docker compose down -v
docker compose up
```

---

Running Without Docker
----------------------

[](#running-without-docker)

If you prefer a local PHP setup:

```
composer install
php -S localhost:8080 -t public
```

You'll need PHP 8.4+ with `mbstring`, `pdo`, `intl`, and `sodium` extensions, and a PostgreSQL (or SQLite) database configured in `.env`.

---

Controllers
-----------

[](#controllers)

Controllers use PHP 8 attributes for routing and are auto-discovered from `app/Controllers/`:

```
use Zephyrus\Controller\Controller;
use Zephyrus\Routing\Attribute\Get;
use Zephyrus\Routing\Attribute\Post;
use Zephyrus\Http\Request;
use Zephyrus\Http\Response;

class ProductController extends Controller
{
    #[Get('/products')]
    public function index(): Response
    {
        return $this->render('products/index', [
            'products' => [],
        ]);
    }

    #[Post('/products')]
    public function store(Request $request): Response
    {
        $data = $request->body()->all();
        // ...
        return Response::redirect('/products');
    }
}
```

No manual route registration needed — just create a controller in `app/Controllers/` and add route attributes.

---

Documentation
-------------

[](#documentation)

Full framework documentation is available on the docs site (coming soon). See the [core framework](https://github.com/zephyrus-framework/core) README for API details.

---

License
-------

[](#license)

MIT — see [LICENSE](LICENSE).

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance59

Moderate activity, may be stable

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/9836ecddefbfb98dabec6f172e87e6735aeb9bd9798a9d84d4b655e65f144daf?d=identicon)[ophelios](/maintainers/ophelios)

---

Top Contributors

[![dadajuice](https://avatars.githubusercontent.com/u/4491532?v=4)](https://github.com/dadajuice "dadajuice (17 commits)")

### Embed Badge

![Health badge](/badges/zephyrus-framework-framework/health.svg)

```
[![Health](https://phpackages.com/badges/zephyrus-framework-framework/health.svg)](https://phpackages.com/packages/zephyrus-framework-framework)
```

###  Alternatives

[laravel/telescope

An elegant debug assistant for the Laravel framework.

5.2k67.8M190](/packages/laravel-telescope)[laravel/passport

Laravel Passport provides OAuth2 server support to Laravel.

3.4k85.0M529](/packages/laravel-passport)[spiral/roadrunner

RoadRunner: High-performance PHP application server and process manager written in Go and powered with plugins

8.4k12.2M84](/packages/spiral-roadrunner)[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M255](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

708181.8M591](/packages/laravel-prompts)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
