PHPackages                             jamilsoft/jamilx - 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. jamilsoft/jamilx

ActiveProject[Framework](/categories/framework)

jamilsoft/jamilx
================

Jamilx is a powerful PHP web application framework that is designed to facilitate the rapid development of software as a service (SaaS) applications.

141[3 PRs](https://github.com/jamilsoft-bot/JamilX/pulls)JavaScriptCI passing

Since Apr 4Pushed 2mo agoCompare

[ Source](https://github.com/jamilsoft-bot/JamilX)[ Packagist](https://packagist.org/packages/jamilsoft/jamilx)[ RSS](/packages/jamilsoft-jamilx/feed)WikiDiscussions master Synced 1mo ago

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

JamilX Framework Documentation
==============================

[](#jamilx-framework-documentation)

JamilX is a lightweight PHP SaaS framework that uses a Service/Action/Container/Prototype structure, modular Apps, and a simple, file-based autoloading system. It runs directly from the repository root (no `public/` folder) and uses Apache rewrite rules to route every request through `index.php`.

> **Important:** JamilX does **not** use Composer. The framework loads classes by scanning `prototypes/`, `services/`, and `actions/` from `autoload.php`.

1) What JamilX Is
-----------------

[](#1-what-jamilx-is)

JamilX uses four core building blocks:

TermWhat it isWhere it lives**Service**Controller-like class that owns a URL section.`services/`**Action**Handler class (or function) called by a Service.`actions/`**Container**View template rendered by Services or Actions.`containers/`**Prototype**Data helper / DB helper.`prototypes/`Source: services/, actions/, containers/, prototypes/.

JamilX also supports **Apps**, which are modular packages loaded from `Apps//` with their own services, actions, containers, and prototypes.

2) Quick Start
--------------

[](#2-quick-start)

### A) Installer Wizard (recommended)

[](#a-installer-wizard-recommended)

1. Open the installer in your browser: ```
    http://your-domain/installer
    ```
2. Follow the steps.:

### B) CLI Setup (manual path)

[](#b-cli-setup-manual-path)

1. Ensure `.env` exists in the root and has DB settings.
2. Run environment checks: ```
    php jamilx doctor
    ```
3. Start local server: ```
    php jamilx serve
    ```
4. (Optional) Run migrations and seeders: ```
    php jamilx db:migrate
    php jamilx db:seed
    ```

3) Requirements
---------------

[](#3-requirements)

- PHP **7.4+**
- Extensions: `mysqli`, `json`, `mbstring`
- Apache rewrite enabled (see `.htaccess`)
- MySQL/MariaDB

4) Folder Structure Overview
----------------------------

[](#4-folder-structure-overview)

PathPurpose`index.php`Entry point (loads `session.php` → `init.php`)`core/`Core framework classes and configs`services/`Service classes (routing targets)`actions/`Action handlers (often `JX_Action` classes)`containers/`View templates`prototypes/`Data/DB helper functions`Apps/`Modular apps (installed via DB)`installer/`Installer wizard`database/`Migrations, seeders, SQL`docs/`Static HTML documentation site`logs/`Error log output`data/`Runtime storage (lock, API data, etc.)5) Routing Basics
-----------------

[](#5-routing-basics)

- Apache rewrites `/` into `index.php?route=`.
- `route` is split on `/` and the **first segment** becomes the Service class name.
- `action` is a query string parameter (e.g., `?route=dashboard&action=home`).

Examples:

```
/                → index.php?route=
/dashboard       → index.php?route=dashboard
/dashboard?action=home

```

Special case: `/admin/blog` is routed to the `blog` Service.

6) Configuration
----------------

[](#6-configuration)

- `.env` is parsed with `parse_ini_file()`.
- `MODE` selects the bootstrap class (`Development`, `Production`, `Maintainance`).
- `.env` is created by the installer and stores DB credentials.

7) Core Concepts (with minimal examples)
----------------------------------------

[](#7-core-concepts-with-minimal-examples)

### Service

[](#service)

**What it is:** A controller-like class for a URL entry.
**Where it lives:** `services/`
**Minimal example:**

```
class Billing extends JX_Serivce implements JX_service
{
    public function main()
    {
        include "containers/billing/index.php";
    }
}
```

**How to run/test:** Visit `/billing` in the browser.

### Action

[](#action)

**What it is:** A handler class invoked by a Service.
**Where it lives:** `actions/`
**Minimal example:**

```
class apihome extends JX_Action implements JX_ActionI
{
    public function getAction()
    {
        include "containers/api/api.php";
    }
}
```

**How to run/test:** Trigger via a Service method or container that calls `$action->getAction()`.

### Container

[](#container)

**What it is:** A view template (HTML/PHP).
**Where it lives:** `containers/`
**Minimal example:**

```

  My Container

```

**How to run/test:** Include it from a Service or Action.

### Prototype

[](#prototype)

**What it is:** Data/DB helper functions or a helper class.
**Where it lives:** `prototypes/`
**Minimal example:**

```
function blog_get_categories()
{
    return blog_db()->query("SELECT * FROM blog_categories");
}
```

**How to run/test:** Call the helper function from a Service or Action.

Source: prototypes/blog.php.

8) CLI Overview
---------------

[](#8-cli-overview)

The CLI entrypoint is `jamilx` (run with `php jamilx `).

Common commands:

CommandDescription`about`Show framework and environment info`list`List available commands`help`Display help for a command`doctor`Check requirements, permissions, DB`serve`Start PHP built-in server`completion:bash`Generate bash completion script`completion:zsh`Generate zsh completion script`make:service`Generate a Service`make:action`Generate an Action`make:container`Generate a Container`make:prototype`Generate a Prototype`make:module`Scaffold Service/Action/Container/Prototype`create:app`Create an App under `Apps/``App:service`Generate a Service within an App`App:action`Generate an Action within an App`App:container`Generate a Container within an App`App:module`Scaffold a module within an App`db:migrate`Run migrations`db:seed`Run seeders`db:status`Migration status`db:rollback`Roll back latest batch`logs:tail`Tail `logs/errors.log``cache:clear`Clear framework cache directoriesSource: jamilx, console/commands/\*.

9) Database
-----------

[](#9-database)

- DB settings come from `.env` (`DB_HOST`, `DB_USER`, `DB_PASS`, `DB_NAME`).
- Installer runs `installer/sql.sql` to build base tables.
- Migrations live in `database/migrations`.
- Seeders live in `database/seeders`.

10) Security Notes
------------------

[](#10-security-notes)

- Sessions start in `session.php`.
- API keys, CORS allowlist, and rate limiting are enforced in the API service.
- `installed.lock` blocks re-running the installer.

Source: session.php, services/api.php, installer/index.php.

11) Deployment Notes
--------------------

[](#11-deployment-notes)

- The **repository root is the webroot**. Do not move files into `public/`.
- Ensure `.htaccess` rewrite rules are active.
- Make `logs/` and `data/` writable.

Source: .htaccess, console/commands/JX\_CommandDoctor.php.

12) Troubleshooting
-------------------

[](#12-troubleshooting)

- **Missing `.env`:** Create it manually ( `.env.example` in repo).
- **Rewrite not working:** Confirm Apache mod\_rewrite + `.htaccess` are enabled.
- **`conf.php` missing:** Run installer or create the file manually.
- **`installed.lock` present:** Remove `data/installed.lock` to re-run installer.

13) API Service
---------------

[](#13-api-service)

- `/api` serves an API management UI and documentation.
- `/api/v1` enforces API keys and responds with a JSON envelope.
- `/api/v1/health` returns a health payload for monitoring.

14) Documentation
-----------------

[](#14-documentation)

- The static documentation site lives in `docs/` (open `docs/index.html` in a browser).

15) Contributing / License
--------------------------

[](#15-contributing--license)

- Contributing guidelines: contact
- License: Dual License

16) What's New in v1.1
----------------------

[](#16-whats-new-in-v11)

- Added AppDev integrated code editor routes: `?serve=appdev&action=editor` and `?serve=appdev&action=editor-api`.
- Added secure file operations with admin-only access, CSRF token checks, extension allowlist, and size limits for editable files.
- Added commercial docs landing page for Jamilsoft online SaaS builder bundles (Personal, Enterprise, Education/School).
- Added MIT license at repository root.

See `RELEASE_NOTES_v1.1.md` for full release details.

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance57

Moderate activity, may be stable

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity22

Early-stage or recently created project

 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/25e7a0c9ba0488bc2a564417cb51fdb4cc5c160207ba11352b441382cd0e90d1?d=identicon)[myakububauchi@gmail.com](/maintainers/myakububauchi@gmail.com)

---

Top Contributors

[![jamilsoft-bot](https://avatars.githubusercontent.com/u/12525742?v=4)](https://github.com/jamilsoft-bot "jamilsoft-bot (125 commits)")

---

Tags

aiframeworkpaasphpphp7saas

### Embed Badge

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

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

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