PHPackages                             webfiori/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. webfiori/framework

ActiveLibrary[Framework](/categories/framework)

webfiori/framework
==================

WebFiori framework. Made to make the web bloom.

v2.4.7(4y ago)2122.3k1[1 PRs](https://github.com/WebFiori/framework/pulls)5MITPHPPHP &gt;=5.6CI failing

Since Mar 10Pushed 1mo ago2 watchersCompare

[ Source](https://github.com/WebFiori/framework)[ Packagist](https://packagist.org/packages/webfiori/framework)[ Fund](https://paypal.me/IbrahimBinAlshikh)[ Fund](https://www.buymeacoffee.com/ibrahimdev)[ RSS](/packages/webfiori-framework/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (5)Versions (95)Used By (5)

WebFiori Framework
==================

[](#webfiori-framework)

[![](https://camo.githubusercontent.com/f4abc7aa878a4465db6ab6ae18bbfb7c763af4a6d12d4a379692e0886be589f5/68747470733a2f2f77656266696f72692e636f6d2f6173736574732f696d616765732f66617669636f6e2e706e67)](https://camo.githubusercontent.com/f4abc7aa878a4465db6ab6ae18bbfb7c763af4a6d12d4a379692e0886be589f5/68747470733a2f2f77656266696f72692e636f6d2f6173736574732f696d616765732f66617669636f6e2e706e67)

 [![](https://github.com/WebFiori/framework/actions/workflows/php85.yml/badge.svg?branch=main)](https://github.com/WebFiori/framework/actions) [ ![](https://camo.githubusercontent.com/6c35bd361555e6ecfe1c0a10c369e8a2ae1e47a21a3b3d063a5ae60053601998/68747470733a2f2f636f6465636f762e696f2f67682f57656246696f72692f6672616d65776f726b2f6272616e63682f6d61696e2f67726170682f62616467652e737667) ](https://codecov.io/gh/WebFiori/framework) [ ![](https://camo.githubusercontent.com/b776519f55b6604740ef45fe0c3eb3f86f7a9161e4d200d9f35e614d9447d24e/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d57656246696f72695f6672616d65776f726b266d65747269633d616c6572745f737461747573) ](https://sonarcloud.io/dashboard?id=WebFiori_framework) [ ![](https://camo.githubusercontent.com/c505861d399dfb82ae5987cdbdb618d6fcd02afc01d9b4a5b94daa39250e6c6d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f57656246696f72692f6672616d65776f726b2e7376673f6c6162656c3d6c6174657374) ](https://github.com/WebFiori/framework/releases) [ ![](https://camo.githubusercontent.com/47652ac58f45fffaa0050edd3beab204a4484f35a9e30327c85ca34ba375d983/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f77656266696f72692f6672616d65776f726b3f636f6c6f723d6c696768742d677265656e) ](https://packagist.org/packages/webfiori/framework)

> Note: This repo contains the core of the framework. Application template can be found in the repo [`webfiori/app`](https://github.com/webfiori/app)

What is WebFiori Framework?
---------------------------

[](#what-is-webfiori-framework)

WebFiori Framework is a mini web development framework which is built using PHP language. The framework is fully object-oriented (OOP). It uses semi-MVC model, but it does not force it. The framework comes with many features which can help in making your website or web application up and running in no time.

Supported PHP Versions
----------------------

[](#supported-php-versions)

Build Status[![](https://github.com/WebFiori/framework/actions/workflows/php80.yml/badge.svg?branch=main)](https://github.com/WebFiori/framework/actions/workflows/php80.yml)[![](https://github.com/WebFiori/framework/actions/workflows/php81.yml/badge.svg?branch=main)](https://github.com/WebFiori/framework/actions/workflows/php81.yml)[![](https://github.com/WebFiori/framework/actions/workflows/php82.yml/badge.svg?branch=main)](https://github.com/WebFiori/framework/actions/workflows/php82.yml)[![](https://github.com/WebFiori/framework/actions/workflows/php83.yml/badge.svg?branch=main)](https://github.com/WebFiori/framework/actions/workflows/php83.yml)[![](https://github.com/WebFiori/framework/actions/workflows/php84.yml/badge.svg?branch=main)](https://github.com/WebFiori/framework/actions/workflows/php84.yml)
[![](https://github.com/WebFiori/framework/actions/workflows/php85.yml/badge.svg?branch=main)](https://github.com/WebFiori/framework/actions/workflows/php85.yml)
Key Features
------------

[](#key-features)

- Provide minimum utilities to setup a small/medium web application.
- Theming and the ability to create multiple UIs for the same web app using any CSS or JavaScript framework.
- Building and manipulating the DOM of a web page inside PHP.
- Basic template engine.
- Fast and simple routing engine.
- Creation of web services (or APIs) that supports JSON with data filtering and validation.
- Middleware support for HTTP requests filtering before reaching application level.
- Basic support for MySQL and MSSQL schema and query building.
- Lightweight. The total size of framework core files is less than 3 megabytes.
- Access management by assigning system user a set of privileges.
- Customized sessions manager.
- Support for creating and sending nice-looking HTML emails.
- Autoload of user defined classes (loading composer packages also supported).
- Ability to create background tasks and let them run in specific time using CRON.
- Well-defined file upload and file handling sub-system.
- Basic support for creating CLI Applications.

Standard Libraries
------------------

[](#standard-libraries)

Following table shows build status of the standard libraries that the framework is composed of. The build is based on the latest stable PHP release.

LibraryBuildLatest[HTTP](https://github.com/WebFiori/http)[![](https://github.com/WebFiori/http/actions/workflows/php84.yml/badge.svg?branch=master)](https://github.com/WebFiori/http/actions)[![](https://camo.githubusercontent.com/e78fa3e990f31c36962797564042eb40e5ea1edd45e2de1703658eba16a30d3e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f57656246696f72692f687474702e737667)](https://github.com/WebFiori/http/releases)[Cache](https://github.com/WebFiori/cache)[![](https://github.com/WebFiori/cache/actions/workflows/php84.yml/badge.svg?branch=main)](https://github.com/WebFiori/cache/actions)[![](https://camo.githubusercontent.com/d93f87c1cca7e938605b580da221444c94fcfb59e60d00fc42d8db5079dbd901/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f57656246696f72692f63616368652e737667)](https://github.com/WebFiori/cache/releases)[File](https://github.com/WebFiori/file)[![](https://github.com/WebFiori/file/actions/workflows/php84.yml/badge.svg?branch=main)](https://github.com/WebFiori/file/actions)[![](https://camo.githubusercontent.com/323e1a66f61c877d3b93c1f9f9e311f5a8b849b1ee4bcae7ea09850f4755c75d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f57656246696f72692f66696c652e737667)](https://github.com/WebFiori/file/releases)[Json](https://github.com/WebFiori/json)[![](https://github.com/WebFiori/json/actions/workflows/php84.yml/badge.svg?branch=master)](https://github.com/WebFiori/json/actions)[![](https://camo.githubusercontent.com/fbf64710b0bbb25c49636a2c5c8fc20fde5c92f126b4846737bf492fc2f78f70/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f57656246696f72692f6a736f6e2e737667)](https://github.com/WebFiori/json/releases)[UI](https://github.com/WebFiori/ui)[![](https://github.com/WebFiori/ui/actions/workflows/php84.yml/badge.svg?branch=master)](https://github.com/WebFiori/ui/actions)[![](https://camo.githubusercontent.com/7907f59f1cfce2fc5dbd874b2596e1d46636f0e5901e0d8cb154a6cbbee1da47/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f57656246696f72692f75692e737667)](https://github.com/WebFiori/ui/releases)[Collections](https://github.com/WebFiori/collections)[![](https://github.com/WebFiori/collections/actions/workflows/php84.yml/badge.svg?branch=master)](https://github.com/WebFiori/collections/actions)[![](https://camo.githubusercontent.com/8a836c357808d8a2f0c86bf0a1c2b44bb49983d564125c7e913490a041626a67/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f57656246696f72692f636f6c6c656374696f6e732e737667)](https://github.com/WebFiori/collections/releases)[Database](https://github.com/WebFiori/database)[![](https://github.com/WebFiori/database/actions/workflows/php84.yml/badge.svg?branch=main)](https://github.com/WebFiori/database/actions)[![](https://camo.githubusercontent.com/143f84408507c7dc313b4b031a169088d70136dfaea372c72ae49715667514c7/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f57656246696f72692f64617461626173652e737667)](https://github.com/WebFiori/database/releases)[CLI](https://github.com/WebFiori/cli)[![](https://github.com/WebFiori/cli/actions/workflows/php84.yml/badge.svg?branch=main)](https://github.com/WebFiori/cli/actions)[![](https://camo.githubusercontent.com/2070452932f9911f8ec52338027d298a573b18b84451fdf66f69aa067cc5c646/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f57656246696f72692f636c692e737667)](https://github.com/WebFiori/cli/releases)[Mailer](https://github.com/WebFiori/mail)[![](https://github.com/WebFiori/mail/actions/workflows/php84.yml/badge.svg?branch=main)](https://github.com/WebFiori/mail/actions)[![](https://camo.githubusercontent.com/94dcdb083f7d409d8efd9cf58159d45242c53b15c2b0546452c1d91dfa1ad519/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f57656246696f72692f6d61696c2e737667)](https://github.com/WebFiori/mail/releases)[Errors and Exceptions Handler](https://github.com/WebFiori/err)[![](https://github.com/WebFiori/err/actions/workflows/php84.yml/badge.svg?branch=main)](https://github.com/WebFiori/err/actions)[![](https://camo.githubusercontent.com/10e8639a1f1b68998be15fd80ebeae2a1db272f9f61fa63cec83a510a24949a2/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f57656246696f72692f6572722e737667)](https://github.com/WebFiori/err/releases)Problems Solved
---------------

[](#problems-solved)

One of the things that any developer cares about any software project is the problem or problems it solves. As for WebFiori framework, It can help in solving the following problems:

- The ability to create a customized links to web pages as needed by using [Routing](https://webfiori.com/learn/routing).
- No need for touching HTML to play with the DOM by using [UI Library](https://webfiori.com/learn/ui-package) of the framework.
- Run PHP code as a CRON task through HTTP protocol or through terminal as a [Background Job](https://webfiori.com/learn/background-tasks).
- Changing whole user interface by changing one line of code through [Theming](https://webfiori.com/learn/themes).
- Ability to move the source code of the web application without having to do a lot of re-configuration.
- [Sending HTML email](https://webfiori.com/learn/sending-emails) messages with attachments without having to write a lot of code.
- Solved the issues which are found in default PHP session management implementation by implementing a custom [Sessions Management System](https://webfiori.com/learn/sessions-management).
- Reduce the number of dependencies at which a developer need to set up a web application.

Getting Started
---------------

[](#getting-started)

To learn the basics of how to use the framework, please head on to . You can also read same docs which can be found in [docs repo](https://github.com/usernane/wf-docs). In addition to that, you can read the API docs of the framework at [the official website](https://webfiori.com/docs).

Setup
-----

[](#setup)

### Local Development Environment

[](#local-development-environment)

If you plan to test the framework on your local machine, the recommended way is to have AMP stack (Apache, MySQL and PHP). There are many available online. We suggest to use the ones that are offered by Bitnami. You can go to  to check the available options.

After installing AMP stack, you can either use composer to install the framework or install it manually by download it through . If you plan to use composer, then you must first download composer from their website: . Once downloaded, place the `.phar` file in the folder `htdocs` or your server root. Once you do that, run the terminal in `htdocs` and run the following command:

```
php composer.phar create-project --prefer-dist webfiori/app my-site

```

This command will create new folder with the name `my-site` and install the framework inside it.

For more information about how to set up the framework, [check here](https://webfiori.com/learn/installation).

Contribution
------------

[](#contribution)

For information on how to contribute to the project, [check here](https://webfiori.com/contribute).

Notes
-----

[](#notes)

- If you think that there is a better way of doing things or wants new feature, feel free to [drop an issue](https://github.com/WebFiori/framework/issues/new).
- To report security vulnerabilities, please email .

License
-------

[](#license)

The project is licensed under MIT license.

###  Health Score

49

—

FairBetter than 94% of packages

Maintenance62

Regular maintenance activity

Popularity32

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 99.6% 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.

###  Release Activity

Cadence

Every ~27 days

Recently: every ~38 days

Total

88

Last Release

193d ago

Major Versions

v1.1.0-beta-3 → v2.0.0-beta.12020-11-14

v2.4.7 → v3.0.0-RC02022-08-22

PHP version history (3 changes)v1.0.0PHP &gt;=5.6

v3.0.0-RC0PHP &gt;=7.0

3.0.0-Beta.29PHP &gt;=8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/4c25e43acaa22b4fb758a710b69c2ab75947a6642925e3bec9c98196b1f2a433?d=identicon)[usernane](/maintainers/usernane)

---

Top Contributors

[![usernane](https://avatars.githubusercontent.com/u/12120015?v=4)](https://github.com/usernane "usernane (5573 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (17 commits)")[![ibeladi-mrsool](https://avatars.githubusercontent.com/u/11488356?v=4)](https://github.com/ibeladi-mrsool "ibeladi-mrsool (8 commits)")

---

Tags

frameworkhacktoberfesthactoberfesthtmlmvcmysqlphpphp-languagerest-apiwebweb-developmentwebfioriwebfiori-frameworkwebsitephpapiframeworkthemeswebfioriWeb APIs

### Embed Badge

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

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

###  Alternatives

[digitalstars/simplevk

Powerful PHP library/framework for VK API bots, supporting LongPoll &amp; Callback &amp; OAuth

883.9k3](/packages/digitalstars-simplevk)[patricksavalle/slim-rest-api

Production-grade REST-API App-class for PHP SLIM, in production on https://zaplog.pro (https://api.zaplog.pro/v1)

101.4k](/packages/patricksavalle-slim-rest-api)

PHPackages © 2026

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