PHPackages                             simplewebframework/core - 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. simplewebframework/core

ActiveLibrary[Framework](/categories/framework)

simplewebframework/core
=======================

Rudimentary framework for easy building of simple web applications

011PHP

Since Jan 15Pushed 10y ago1 watchersCompare

[ Source](https://github.com/SimpleWebFramework/core)[ Packagist](https://packagist.org/packages/simplewebframework/core)[ RSS](/packages/simplewebframework-core/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Simple Web Framework
====================

[](#simple-web-framework)

Rudimentary framework for easy building of simple web applications

### Simple Web Framework/core

[](#simple-web-frameworkcore)

This package consists of core parts of the framework.

Contents
--------

[](#contents)

- [Overview](#overview)
- [The URL](#the-url)
- [Files](#files)
- [Routing](#routing)
- [Plug-ins](#plug-ins)

Overview
--------

[](#overview)

This is small library that serves as a foundation to build simple web applications. It provides very rudimentary split of control/action/presentation. Apart from that its scope is very basic.

It does not provide neither model, mechanism for accessing data nor any presentation layer.

All it does it provides mechanism for URL analysis, some very simple routing and possibility to expand it with system of plug-ins.

The URL
-------

[](#the-url)

Simple Web Framework expects URL to be: ```
/pagename/param1/val1/param2/val2/name.ext

```

where:

- pagename - is name of the directory where
- param1/param2 - are parameters available to the application. Values they hold are corresponding val1/val2.
- name.ext - serves primarily decorative purpose(but still is available to use)

Example:

```
http://www.example.org/documentedit/id/425/introduction.html

```

Files
-----

[](#files)

Based on that application searches in the 'pages' directory for a subdirectory named the same as 'pagename' ('documentedit' in the example). There it expects to find five PHP files:

- validator.php
- formprep.php
- form.php
- action.php
- view.php

Routing
-------

[](#routing)

The logic is as follows: - validator.php - decides if we need to show form (or do we need to show it with an error message). If there is a error in received form data (e.g. some required fields are empty) or there is no data in $\_POST - two files are included:

    - formprep.php - prepares data for display in form (eg reads data from db)
    - form.php - displays form

    if there is no error or there is no validator whatsoever (and subsequently no form.php and no formprep.php) framework will skip to
- action.php - performs an action( eg reads from db, saves to db )
- response.php - outputs data to client or redirects to another page

This is all the framework does. Everything else has to be done either in those files or through plug-in system.

Plug-ins
--------

[](#plug-ins)

Plug-ins are the primary way to extend functionality of the framework During execution Simple Web Framework may emit any of those events:

- start
- validator
- formprep
- form
- action
- view
- finish and
- error

Framework allows plug-ins to make use of it through hooks:

- before{event}
- on{event}
- after{event}

To make use of the hook plug-in needs to have method of that name (e.g.. beforeStart or afterAction)

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

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

### Community

Maintainers

![](https://www.gravatar.com/avatar/509f143f06a7f52fbd3d1f3f9008df8e907e64338c7a55d25e4a26a30b83984e?d=identicon)[siudak](/maintainers/siudak)

---

Top Contributors

[![piotr-siudak](https://avatars.githubusercontent.com/u/3708200?v=4)](https://github.com/piotr-siudak "piotr-siudak (6 commits)")

### Embed Badge

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

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

###  Alternatives

[laravel/telescope

An elegant debug assistant for the Laravel framework.

5.2k67.8M192](/packages/laravel-telescope)[spiral/roadrunner

RoadRunner: High-performance PHP application server and process manager written in Go and powered with plugins

8.4k12.2M84](/packages/spiral-roadrunner)[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M259](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

708181.8M596](/packages/laravel-prompts)[cakephp/chronos

A simple API extension for DateTime.

1.4k47.7M121](/packages/cakephp-chronos)

PHPackages © 2026

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