Download the PHP package footup/framework without Composer
On this page you can find all versions of the php package footup/framework. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download footup/framework
More information about footup/framework
Files in footup/framework
Package framework
Short Description FootUp MVC Framework: A Rich Featured LightWeight PHP MVC Framework
License BSD-3
Informations about the package framework
Footup MVC PHP Framework
FOOTUP MVC FRAMEWORK - 1.0.0-beta
A Rich Featured LightWeight PHP MVC Framework :
- CLI support for generating Controller, Model, Middle, Migration, Seeder, Assets and View files ( adhocore/php-cli modified and used thanks :) )
- Translation support
- Config using PHP File or .env (Rename env to .env)
- Request
- Response
- Validator (Form Validation - Not validating UploadedFile) Thanks to pdscopes/php-form-validator
- Pagination (Pagination and Pagination View) Thanks to iranianpep/paginator
- Session
- Email (CodeIgniter 4 Email Class)
- Routing
- Controller AND Middleware (But here we call it just Middle and are specific)
- Model RelationShips ($hasOne, $hasMany, $belongsTo, $belongsToMany)
- Model QueryBuilder
- Model Events CallBacks
- Files (Upload File)
- Extensible (You can integrate any library you want and you can add (news folders and class) in the App Directory using psr4 autoloading mecanism)
Project structure
Requirements
- PHP 8.1+
- Composer (optional, but recommended)
- SQLite support in PHP
Quick start
Then open:
- http://localhost:8000/
- http://localhost:8000/welcome
- http://localhost:8000/ping
- http://localhost:8000/api/users
Environment configuration
The app reads configuration from .env files and loads them through the framework config layer.
Example:
You can also set MySQL/PostgreSQL values if needed. The config/database.php file already includes the common connection variables.
App bootstrap
Application startup is centralized in app/bootstrap.php.
This is where you:
- register routes
- attach middleware
- bind services to the container
- configure app-level behavior
- define custom exception handling
Example:
Routing
Routes are defined with the framework router and can take path parameters.
You can also define grouped routes and attach middleware at the route or app level.
Controllers and views
Controllers live under app/controllers/ and can return JSON, redirect responses, or render views.
Typical flow:
Views live in views/ and are plain PHP templates.
Database
SQLite is enabled by default and requires no setup beyond creating the database file.
Run migrations:
Then query the app via the API, for example:
Query builder
Models
Migrations
Migrations live in database/migrations/ as SQL files. Files are applied in order by filename and tracked in a migrations table.
This project intentionally keeps migrations simple: plain SQL, no rollback support, and no complex migration DSL.
Logging
The app includes a lightweight logger.
Logs are written to storage/logs/app.log.
Exceptions and error handling
Unhandled exceptions are caught by the framework and can be customized from app/bootstrap.php.
A commented example exists for a custom HTML exception handler.
Timing and benchmarking
The framework includes request timing instrumentation.
You will see headers such as:
You can also benchmark routes from the CLI:
This runs the route in-process and reports timings without the overhead of a real network round trip.
CLI commands
Notes
This project is intentionally compact and framework-like rather than full-stack framework heavy. It is meant to be a readable base for small apps, prototypes, and internal tools.
All versions of framework with dependencies
ext-pdo Version *
ext-intl Version *
ext-json Version *
ext-mbstring Version *