PHPackages                             booosta/webapp - 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. booosta/webapp

ActiveLibrary[Framework](/categories/framework)

booosta/webapp
==============

Webapp module for Booosta PHP Framework

v4.0.7(1y ago)013020LGPL-3.0-onlyPHPPHP &gt;=8.0.0

Since Feb 14Pushed 1y ago1 watchersCompare

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

READMEChangelogDependencies (6)Versions (8)Used By (20)

Webapp module for the Booosta PHP Framework
===========================================

[](#webapp-module-for-the-booosta-php-framework)

This module provides the webapp funtionallity for the Booosta PHP Framework. This is the "heart" of the Booosta Framework, which in mainly designed for writing web applications.

Booosta allows to develop PHP web applications quick. It is mainly designed for small web applications. It does not provide a strict MVC distinction. Although the MVC concepts influence the framework. Templates, data objects can be seen as the Vs and Ms of MVC.

Up to version 3 Booosta was available at Sourceforge:  From version 4 on it resides on Github and is available from Packagist under booosta/booosta .

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

[](#installation)

For installation instructions see

Create your application
-----------------------

[](#create-your-application)

Unlike other frameworks, where you write code and the framework creates the database for you, Booosta works the opposite way. You create the database with all its tables and Booosta writes the code for you. Of course it cannot anticipate all the strange things you want to do within your application. So it only creates the code for the basic CRUD functionallity (**C**reate, **R**ead, **U**pdate, **D**elete).

So if you have a database table with data and you only want to do these operations on this data, the framework does literally all the programming work for you!

### Create the database

[](#create-the-database)

The data should have some special structure. Future releases of Booosta will support several DBMS, but here we only show how to work with *mysql* or *mariadb*. A nice and easy way to manipulate mysql or mariadb databases is [phpMyAdmin](https://www.phpmyadmin.net).

- Using the InnoDB engine for the data tables is recommended
- Your data tables should have a unique identifier. It's recommended to call it **id**
    This should be an integer, auto increment and primary key
- If you have fields that hold the primary key of of foreign table, you should define a foreign key on that field
- If you want to work with mysql views, you should add the comment "PK" to the primary key field.
    This is because Booosta needs this to be sure that it is the primary key, what it cannot find out in a view.

Here is an example of a table holding songs on a CD made with phpMyAdmin:

[![table-song](https://user-images.githubusercontent.com/9774538/168874874-579af4a9-15fb-49c5-8d6c-d6581a19a77c.png)](https://user-images.githubusercontent.com/9774538/168874874-579af4a9-15fb-49c5-8d6c-d6581a19a77c.png)

[![table-song1](https://user-images.githubusercontent.com/9774538/168875028-0e397abb-b863-4fb8-85d2-8d600581f075.png)](https://user-images.githubusercontent.com/9774538/168875028-0e397abb-b863-4fb8-85d2-8d600581f075.png)

Notice the foreign key in the second screen shot.

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance37

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity55

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.

###  Release Activity

Cadence

Every ~101 days

Recently: every ~52 days

Total

7

Last Release

579d ago

Major Versions

v1.0.0 → v4.0.22023-09-18

### Community

Maintainers

![](https://www.gravatar.com/avatar/f449d7b4657b3da3431669eccd14dd515575cb712edf168eb2ffbdf871f762d1?d=identicon)[buzanits](/maintainers/buzanits)

---

Top Contributors

[![buzanits](https://avatars.githubusercontent.com/u/9774538?v=4)](https://github.com/buzanits "buzanits (6 commits)")

### Embed Badge

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

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

###  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)
