PHPackages                             smitter/smitter - 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. smitter/smitter

ActiveProject[Framework](/categories/framework)

smitter/smitter
===============

Agile, Extensible, Modular PHP Framework

1.1.2(4y ago)01[2 PRs](https://github.com/adizsandy/smitter/pulls)MITPHP

Since May 12Pushed 3y ago1 watchersCompare

[ Source](https://github.com/adizsandy/smitter)[ Packagist](https://packagist.org/packages/smitter/smitter)[ RSS](/packages/smitter-smitter/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (7)Dependencies (1)Versions (13)Used By (0)

[![Smitter: Code Smile](https://github.com/adizsandy/smitter/raw/master/public/assets/img/sunshine.png)](https://github.com/adizsandy/smitter/blob/master/public/assets/img/sunshine.png)

[![GitHub release](https://camo.githubusercontent.com/cc111e0d1d827105d4c280a0369da7b5ac272e60d220d603dc8b5060b2dd24a1/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f6164697a73616e64792f736d6974746572)](https://camo.githubusercontent.com/cc111e0d1d827105d4c280a0369da7b5ac272e60d220d603dc8b5060b2dd24a1/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f6164697a73616e64792f736d6974746572)[![GitHub license](https://camo.githubusercontent.com/6b768123b1bff23552e776cb03e56ccf40f765da569e62432fff395fa3332147/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6164697a73616e64792f736d6974746572)](https://github.com/adizsandy/smitter/blob/master/LICENSE)[![GitHub stars](https://camo.githubusercontent.com/e3e882ed7b4edb3986bdf4841cd60c4d2cfd6c8e8183529a77ca2874fcd8a926/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6164697a73616e64792f736d6974746572)](https://GitHub.com/adizsandy/smitter/stargazers/)[![GitHub downloads](https://camo.githubusercontent.com/03ddc71123395c801339638e41010ab016db4468a5740591de178f959cd1af22/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f6164697a73616e64792f736d69747465722f746f74616c)](https://camo.githubusercontent.com/03ddc71123395c801339638e41010ab016db4468a5740591de178f959cd1af22/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f6164697a73616e64792f736d69747465722f746f74616c)

About Smitter
=============

[](#about-smitter)

Smitter is a modular, fast, secure and highly extensible PHP framework built for providing closer to native PHP development experience while following the MVC pattern to its core. The purpose of this framework is to maintain the fun and remove the pain of development process while keeping the scalability, security and performance fine tuned irrespective of project conditions.

Features
--------

[](#features)

- Simple, maintainable, extensible and robust development layer for hassle free and quickest development
- Easiest Public API for implementing all services
- Setting up a project is as quick and fun, as your smile :)
- Built over a powerful service dependency injection layer

Installation
------------

[](#installation)

- Using composer: `composer create-project smitter/smitter`
- Using clone: `git clone https://github.com/adizsandy/smitter`

    After successfull clone, do not forget to run - `composer update`, which will install all dependencies.

Basic Documentation
-------------------

[](#basic-documentation)

Basic structure of framework is as follows:

- `~/app/`All module related codes reside within this folder.

    To define a module, `/` folder structure must be followed. For any new module, register module information within `register.php` as :

    ```
      // Unique Standard Module Name
      'Wrapper_ModuleName' => [

            // SWITCH: Turn active/inactive a given module
          'active' => true,

          /**
          * INHERITANCE: If given module is a submodule or dependant on other modules, if there is any, put 'Standard Module Name' of that parent module for the same Only single inheritance is   allowed for now.
          */
          'parent' => false
      ]
    ```

    A `Wrapper` is recommended to include modules of same kind or submodules. Any submodule is defined as a parallel module within same wrapper, just `parent` field is set to the name of `ParentModuleName` in module registry.

    For example, to define a sub-module of `Wrapper_ModuleName`, `/` folder structure must be followed.

    Within `register.php`:

    ```
      // Unique Standard Module Name
      'Wrapper_SubModuleName' => [
          'active' => true,
          'parent' => 'Wrapper_ModuleName'
      ]
    ```

    Each module consist of a module definition file `module.php` and `routes.php`, which has module declarations and module specific route definitions respectively.

    Folder structure within module consists of `Controller`, `Design` \[ `layouts`, `templates` \], `Model` folders with respective functionalities.

    `Controller` :

    In Smitter, Controllers are just plain and independent PHP classes, used for handling the requests and providing the response.
    All extensible features like Request Parameters, Response Processe, Session etc. can be handled by the helper functions available with equivalent names :)

    ```
    namespace App\Main\Module\Controller;

    class HomeController {
      //..... code resides here
    }
    ```

    `Model` :

    Model classes include business logics that maybe database related depending on requirements.

    If database related logics are to be handled, the class should extend the `Illuminate\Database\Eloquent\Model` class, for implementing the complete ORM features of `Eloquent ORM` and mapping the model as an database `Entity`.

    However if you need to just run SQL queries anywhere within your codebase, you may use the `db()` function, which returns the Eloquent instance.

    ```
    namespace App\Main\Module\Model;

    use Illuminate\Database\Eloquent\Model;

    class User extends Model {

        protected $table = 'users';
    }
    ```

    `Design` : It includes the VIEW logics, having `layouts` and `templates` folder.

    By default, `Main_Module` is provided for quick setup of simple and uni-modular web applications along with some basic information for creation of other modules.
- `~/boot/`This folder contains files for bootstrapping the application along with its dependencies
- `~/config/`This folder consists all configuration files
- `~/lib/`Any third party libraries or common services resides within this folder All services must have `Library\\` namespace prefixed.
- `~/misc/`Miscellaneous files like helper functions or configurating constants lies in it
- `~/public/`All public assets or public domain files reside within it
- `~/vendor/`All composer installed packages/dependencies

For setting configurations of project, use `~/.env.example` file and register respective details after renaming it as : `~/.env`

All public assets can be saved within `~/public/` folder.

In production environment, DO NOT REMEMBER to redirect your server to public folder via `htaccess` as rest of the folders are kept as private folder over production environment.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity1

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 55.9% 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 ~2 days

Total

7

Last Release

1784d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/9261172?v=4)[Shudhansh Shekhar](/maintainers/adizsandy)[@adizsandy](https://github.com/adizsandy)

---

Top Contributors

[![adizsandy](https://avatars.githubusercontent.com/u/9261172?v=4)](https://github.com/adizsandy "adizsandy (62 commits)")[![shudhansh-dubey](https://avatars.githubusercontent.com/u/83328493?v=4)](https://github.com/shudhansh-dubey "shudhansh-dubey (48 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")

---

Tags

frameworksmitter

### Embed Badge

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

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

###  Alternatives

[hemp/presenter

Easy Model Presenters in Laravel

247592.6k1](/packages/hemp-presenter)[pestphp/pest-plugin-stressless

Stressless plugin for Pest

67792.6k16](/packages/pestphp-pest-plugin-stressless)[wpstarter/framework

The WpStarter Framework - Laravel Framework for WordPress

1810.1k4](/packages/wpstarter-framework)

PHPackages © 2026

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