A really simple php framework that is beginner-friendly and suitable for collaborative work.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Smol Framework by Fionix Softwork

Smol Framework is a really simple php framework that is beginner-friendly and suitable for collaborative work.


  • Plain compatibility -- Can be use right away; if you are using localhost (XAMPP, WAMPP, etc.) or any online hosting.

  • Plain functionality -- It uses MVC architechture, routing functionality and some security measures. More is coming soon.

  • Plain implementation -- Suitable to be implemented in both static and dynamic webpages and collaboration works.

  • Plain size -- Prioritize your working space storage? No problem with Smol, it just take less than 1Mb (uncompressed) of your storage and it already includes front-end framework.

  • Plain license -- is licensed under GNU General Public License v3.0 which make it free to use for personal and commercial use.

  • Plain looks -- Smol Framework already implement Source Sans Pro and Savior1 fonts and Bootstrap v4 for your convenience.

The main problems among new developers is they need to implement MVC architechture to work collaboratively in a project but a lot of time need to be spent to learn on how to use the framework. Smol Framework aims to prepare a simple solution for them to make their project that can be work collaboratively with a minimal implementation of necessity features.


Smol Frameworks does use other open source projects such as:

  • php (version 7.2.10)
  • Bootstrap (v4.1.3)
  • jQuery.js (v3.3.1)

* Smol Framework only support for stated versions; any use of other version of components will not be officially support but you may request for support. This support will change over time.


Model–view–controller (MVC) is a software architectural pattern for implementing user interfaces. It divides a given application into three interconnected parts; model, view and controller. This is done to separate internal representations of information from the ways information is presented to, and accepted from, the user.

  • Controller: send commands to the model to update the model's state. It can also send commands to its associated view to change the view's presentation of the model.
  • Model: stores data that is retrieved from the database according to query from the controller and displayed in the view.
  • View: generates new output to the user based on changes in the model.

Smol framework uses routing for navigation across view components. Routing is the process of taking a URI endpoint (that part of the URI which comes after the base URL) and decomposing it into parameters to determine which module, controller, and action of that controller should receive the request.

First step

Make sure you already installed the php and mysql environment (Apache & MySql / XAMPP / LAMPP / etc.).

Second step

Extract the downloaded Smol Framework and copy/move all the files inside into your working folder.

Third step

Make sure your httpd.conf configuration has allow .htaccess by finding AllowOverride All and removes # at the front of AllowOverride found.

Forth step

Open './framework/config.php' file with your text editor. Edit your servername, username, password and databasename based on your working mysql credentials. subfolder is path to your development folder from the URL specified. For example, if your project folder is 'localhost/projects/home', your subfolder will be '/projects'. You can generate security_key, security_iv and security_salt at Password Generator with your own custom passphrase. Maintainance mode allow you to close your website temporarily You can enable HTTPS redirecting by remove the comments with double hash at the https section below.

Fifth step

Your './index.php' file in the root folder will be your routing file. Register it by replacing // ... with 'else if' conditions. Make sure your route is same with the name of the view files to prevent any confusion during the development.

Last step

Make sure to add code below into your view header (before title tag) to include all necessary components for your webpage and remove posibilities of direct file access.

<?php /* Prevent direct access */  if(file_exists("../framework/framework.php")) { include_once "../framework/framework.php"; home(); die(); }  ?>
<?php include_once "controller/header.php";  ?>


Please add code below on the top of your controller file to include all necessary components:

  include_once "framework/framework.php";


Want to contribute? Great! You can either contribute by providing some codes on bug fixes or post a new issues regarding any bugs and errors found in the repository or maybe, introduce Smol framework to others (keeps the Smol Framework footer in every page would be great).

Steps to provide some codes are:

  1. Fork the repository on GitHub
  2. Clone the repository
  3. Make changes and commit
  4. Push your commit
  5. Create a Pull Request (PR)