PHPackages                             zozor/zzengine - 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. zozor/zzengine

ActiveLibrary

zozor/zzengine
==============

Light Framework for PHP

v1.0.1(1y ago)04MITHTMLPHP ^8.3

Since Apr 8Pushed 1y ago1 watchersCompare

[ Source](https://github.com/Zorglu/zzengine)[ Packagist](https://packagist.org/packages/zozor/zzengine)[ Docs](https://github.com/Zorglu/zzengine)[ RSS](/packages/zozor-zzengine/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)DependenciesVersions (4)Used By (0)

[![Latest Version on Packagist](https://camo.githubusercontent.com/70140396b5220b789661ae5290c3652a67aed0c56779b4ee585de2335ef462e5/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7a6f7a6f722f7a7a656e67696e652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/zozor/zzengine)[![Total Downloads](https://camo.githubusercontent.com/220396f68cd77acb35ff14d07e89f2d6f4bd9cad1b27a3e8a2159ce1a632c342/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7a6f7a6f722f7a7a656e67696e652e7376673f7374796c653d666c61742d737175617265)](https://img.shields.io/packagist/dt/zozor/zzengine.svg)

A php light framework for easily create robust applications

zzengine covers four main actions: -Database management (all requests are securized) -Session management -Request management (GET and POST) avec sécurisation -Response management

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

[](#installation)

Caution

Please note that this is a new package and, even though it is well tested, it should be considered pre-release software

You can install the package via composer:

```
composer require zozor/zzengine
```

Réglages généraux
-----------------

[](#réglages-généraux)

La configuration du moteur se fait au travers de 3 fichiers de configuration :

- config/general\_settings.php
- config/database\_settings.php
- config/session\_settings.php

### config/general\_settings.php

[](#configgeneral_settingsphp)

```
define("APP_NAME", "mysite");                           // Nom de l'application
define("PROD_PATH", "/chemin sur la machine de prod/"); // chemin site sur la serveur de production
define("DEV_PATH", $_SERVER["DOCUMENT_ROOT"] . "/" . APP_NAME . "/"); // chemin du site sur la machine de developpement
define("PATH_TEMP", "/tmp/");                           // chemin du répertoire temporaire
```

### config/database\_settings.php

[](#configdatabase_settingsphp)

```
define("BDD_HOST", "localhost");        // nom/ip de la machine sur laquelle tourne le serveur Mysql/MariaDb
define("BDD_USER", "username");         // Nom de l'utilisateur accédant à la base de données
define("BDD_PWD", "password");          // Mot de passe de l'utilisateur
define("BDD_NAME", "database name");    // Nom de la base de données
define("BDD_PORT", 3306);               // Port utilisé par le serveur de base de données
```

### config/session\_settings.php

[](#configsession_settingsphp)

```
define("SESSION_NAME", "nameapp");      // Nom de la session
define("SESSION_LIFETIME", 86400);      // durée de vie de la session
```

Utilisations du moteur
======================

[](#utilisations-du-moteur)

Engine::create() Initialise le moteur, la base se données et la session. A noter que Engine::Create retourne un singleton. Par conséquent, vous pouvez appeler Engine::create() plusieurs fois sans que cela renouvelle la connexion à la base de données ou de la session.

Ecrire/Lire une variable de session
-----------------------------------

[](#ecrirelire-une-variable-de-session)

```
declare (strict_types=1);
require __DIR__ . '/vendor/autoload.php';

use zzengine\App\Engine;

$engine = Engine::create(); // Create a singleton

$engine::$session::setValue("test", "12345"); // Créer une variable de session (test)
$test = $engine::$session::getValue("test"); // Return 12345
print $test;
$engine::$session::removeValue("test"); // Suppression de la variable de session (test)
$session_id = $engine::$session::getId(); // Retounre l'ID de session
print $session_id;
```

Lire les requêtes GET ou POST
-----------------------------

[](#lire-les-requêtes-get-ou-post)

```
declare (strict_types=1);
require __DIR__ . '/vendor/autoload.php';

use zzengine\App\Engine;

$engine = Engine::create(); // Create a singleton

// Lit la variable $_GET["action"] ou $_POST["action"]
// Retourne null si non présent
$action = $engine::$request::get("action"));

// Lit la variable $_POST["action"]
// Retourne null si non présent dans $_POST
$action = $engine::$request::get("action", "POST"));

// Lit un entier dans la variable $_GET["myint"]
// Retourne null si non présent dans $_GET ou n'est pas un entier
$int = $engine::$request::getInt("myint", "GET"));

$float = $engine::$request::getInt("myfloat"));
$bool = $engine::$request::getBool("myboolean"));
$regexp = $engine::$request::getRegexp("myregexp"));
$email = $engine::$request::getEmail("myemail"));
$url = $engine::$request::getUrl("myurl"));
$domain = $engine::$request::getDomain("mydomain"));
$ip = $engine::$request::getIp("myip"));
$mac_address = $engine::$request::getMac("mymac"));
```

Ecrire une réponse structurée
-----------------------------

[](#ecrire-une-réponse-structurée)

```
declare (strict_types=1);
require __DIR__ . '/vendor/autoload.php';

use zzengine\App\Engine;

$engine = Engine::create(); // Create a singleton

$myresponse = [
    "id" => 123456,
    "state" => true,
    "name"=> "My name",
    "address" => [
        [
            "street" => "Rue d'alésia",
            "number" => 209,
            "city" => "Paris 14"
        ],
        [
            "street" => "Rue de Lyon",
            "number" => 34,
            "city" => "Paris 12"
        ]
    ]
];
print $engine::$response::json($myresponse, $engine::$response::OK);
/* this result will be easily readable in javascript
{
    "code":200,
    "data":{
        "id":123456,
        "state":true,
        "name":"My name",
        "address":[
            {
                "street":"Rue d'al\u00e9sia",
                "number":209,
                "city":"Paris 14"
            },
            {
                "street":"Rue de Lyon",
                "number":34,
                "city":"Paris 12"
            }
        ]
    },
    "ts":1744271580000
}
*/
```

Gestion d'une base de données
-----------------------------

[](#gestion-dune-base-de-données)

```
declare (strict_types=1);
require __DIR__ . '/vendor/autoload.php';

use zzengine\App\Engine;

$engine = Engine::create(); // Create a singleton

// get one line of datas from DB table users where ID_USER = 1
$user = $engine::$DB::select("SELECT * FROM `users` WHERE `ID_USER` = ?", [1]);

// get all records from table users where VALID > 0
$users = $engine::$DB::selectAll("SELECT * FROM `users` WHERE `VALID` > ?", [0]);

// get all records from table users where VALID = 1 from 2nd line to 5nd line
$user = $engine::$DB::pagination("SELECT * FROM `users` WHERE `VALID` = ?", [1], 2, 5);

// insert in table users fields VALID and NAME with 0 et myname et return the ID of lastInsertId()
$id_user = $engine::$DB::insert("INSERT INTO `users` (`VALID`, `NAME`) = ?", [0, "myname"], true);

// insert in table users fields VALID and NAME with 0 et myname without return lastInsertId()
$done = $engine::$DB::insert("INSERT INTO `users` (`VALID`, `NAME`) = ?", [0, "myname"]);

// update from table users where user ID = 1 AND VALID > 0, update VALID to 0
$done = $engine::$DB::update("UPDATE `users` SET `VALID` = ? WHERE `ID` = ? AND `VALID` > ?", [0, 1, 0]);

// delete from table users where user ID = 1
$done = $engine::$DB::delete("DELETE FROM `users` WHERE `ID` = ?", [1]);

// do a statement on table users
$done = $engine::$DB::statement("OPTIMIZE TABLE `users`");

// do a unprepared request on table users (ATTENTION no secured query)
$done = $engine::$DB::nprepared("DELETE FROM `users` WHERE `ID` = 1");
```

Gestion du moteur
-----------------

[](#gestion-du-moteur)

```
declare (strict_types=1);
require __DIR__ . '/vendor/autoload.php';

use zzengine\App\Engine;

$engine = Engine::create(); // Create a singleton

// Returns a boolean true = prod mode  false = dev mode
print $engine->isProd();

// Returns the server's path based on the production mode
print $engine->getPath();
```

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance46

Moderate activity, may be stable

Popularity3

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity54

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 ~2 days

Total

3

Last Release

401d ago

Major Versions

v0.0.1 → v1.0.02025-04-12

### Community

Maintainers

![](https://www.gravatar.com/avatar/9b47c62123f16df1f7f786dfbfda2b934f00357b9f5e3058dd39c9e5384343b4?d=identicon)[zzengine](/maintainers/zzengine)

---

Top Contributors

[![Zorglu](https://avatars.githubusercontent.com/u/9439511?v=4)](https://github.com/Zorglu "Zorglu (12 commits)")

---

Tags

apache2phpengineBackzzengine

### Embed Badge

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

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

###  Alternatives

[latte/latte

☕ Latte: the intuitive and fast template engine for those who want the most secure PHP sites. Introduces context-sensitive escaping.

1.3k15.7M683](/packages/latte-latte)[ruler/ruler

A simple stateless production rules engine for modern PHP.

1.1k794.6k3](/packages/ruler-ruler)[thunderer/shortcode

Advanced shortcode (BBCode) parser and engine for PHP

3892.6M44](/packages/thunderer-shortcode)[s9e/text-formatter

Multi-purpose text formatting and markup library. Plugins offer support for BBCodes, Markdown, emoticons, HTML, embedding third-party media (YouTube, etc...), enhanced typography and more.

2413.1M29](/packages/s9e-text-formatter)[directorytree/imapengine

A fully-featured IMAP library -- without the PHP extension

531175.4k4](/packages/directorytree-imapengine)[anourvalar/office

Generate documents from existing Excel &amp; Word templates | Export tables to Excel (Grids)

24085.2k](/packages/anourvalar-office)

PHPackages © 2026

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