Viper by Arsen GoianViper by Arsen Goian

Viper

Arsen Goian

Arsen Goian

Challenge

In 2017 I was regularly starting small PHP websites and messenger bots, and full-size frameworks felt heavy for them, while plain PHP led to copy-pasted boilerplate. I wanted a framework that starts with one Composer command and a database password, keeps configuration readable, creates the database structure from model definitions and still offers familiar Blade-style templates. It also had to leave room for background bot processes.

Solution

Viper boots with composer create-project and a database password. Settings live in local and global YAML files read through Config::get(); routes are declared in YAML and map requests to controller methods with built-in validation. Models are described in YAML too, and the framework creates or updates the matching MySQL tables over PDO. Filters run before every controller, views and parsed YAML are cached, and Viper-Blade adds layouts and sections. A daemon module runs background jobs for bots.

Key features

One-command start: composer create-project arsengoian/viper
YAML config (local and global) with a Config::get() accessor
YAML routing to controllers, built-in validators, filter pipeline
Self-migrating models: YAML field definitions sync MySQL tables via PDO
Viper-Blade templates with layouts and sections; view and YAML caching

Outcome

Published on GitHub and Packagist; foundation of BotMother and several client projects

Stack

PHP 7.1
Composer
YAML
PDO / MySQL
Blade-style templates
Packagist
Like this project

Posted Oct 23, 2026

Viper: lightweight PHP MVC framework with YAML config, YAML routing and self-migrating models, published on GitHub and Packagist.

Likes

0

Views

0