PHPackages                             alqxyz/ctrl-era - 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. alqxyz/ctrl-era

ActiveProject[Framework](/categories/framework)

alqxyz/ctrl-era
===============

Un esqueleto de proyecto para desarrollo web utilizando el patrón de arquitectura Ctrl ERA. Simple, adaptable y escalable.

10Hack

Since May 30Pushed 11mo ago1 watchersCompare

[ Source](https://github.com/alqxyz/ctrlERA)[ Packagist](https://packagist.org/packages/alqxyz/ctrl-era)[ RSS](/packages/alqxyz-ctrl-era/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

CtrlERA
-------

[](#ctrlera)

Control ERA: Es un patrón de arquitectura de software para proyectos web (**PHP**), que responde a un modelo de Programación Modular y quizás a un aire de **POA** ( programación orientada a aspectos ), trabaja con un enrutador (**ctrl.php**) para mantener la interacción en un mismo plano, para facilitar el posicionamiento, peticiones y respuestas del sistema, separando los códigos de acuerdo a su funcionalidad en una carpeta base y en tres ramas principales:

```
CtrlERA/
└── base/
│    ├── E/
│    ├── R/
│    └── A/
│

```

**CtrlERA** permite una versatilidad a la hora de estructurar el sistema para que la programación sea más cómoda.

Jerarquia básica
----------------

[](#jerarquia-básica)

```
CtrlERA/
├── base/
│   ├── E/
│   ├── R/
│   └── A/
├── ctrl.php
└── index.php

```

> #### Idea: CtrlERA no es más que una manera de ordenar tu proyecto web (PHP) en carpetas específicas en una estructura flexible.
>
> [](#idea-ctrlera-no-es-más-que-una-manera-de-ordenar-tu-proyecto-web-php-en-carpetas-específicas-en-una-estructura-flexible)

#### Logo

[](#logo)

[![ctrlera](base/E/img/icon/icon.png)](base/E/img/icon/icon.png)

CTRL
----

[](#ctrl)

**ctrl.php**: Control hace referencia al archivo que funciona como enrutador de peticiones y respuestas del sistema, mediante el método GET (url), permitiendo la transacción de información sin que el usuario tenga una referencia de la posición lógica de los archivos en ejecución, ctrl.php sólo debe responder a peticiones del mismo sistema.

> #### Idea: ctrl.php no es más que el archivo que ejerce el direccionamiento del sistema.
>
> [](#idea-ctrlphp-no-es-más-que-el-archivo-que-ejerce-el-direccionamiento-del-sistema)

E/ (Estructura)
---------------

[](#e-estructura)

En esta carpeta se almacenará todo lo necesario a nivel visual y comportamiento del lado del cliente (css, js, img, let, maq y otros).

```
├── base/
│   └── E/
│       ├── E/css/ (hojas de estilos) - basica
│       ├── E/img/ (imagenes) - basica
│       ├── E/js/  (javascript) - basica
│       ├── E/let/ (fuentes) - basica
│       ├── E/maq/ (maquetación) - basica
│       ├────────── OPCIONALES
│       ├── E/aud/ (audios) - opcional
│       ├── E/des/ (archivos descargables) - opcional
│       ├── E/doc/ (documentos) - opcional
│       ├── E/med/ (media [CMS]) - opcional
│       ├── E/swf/ (flash) - opcional
│       └── index.php (seguridad) - recomendado
│

```

> #### Idea: E/ no es más que la carpeta donde estarán las tecnologías que interactúan con el lado del cliente (FRONTEND).
>
> [](#idea-e-no-es-más-que-la-carpeta-donde-estarán-las-tecnologías-que-interactúan-con-el-lado-del-cliente-frontend)

R/ (Respuesta)
--------------

[](#r-respuesta)

En esta carpeta se almacenará los archivos que procesarán las peticiones del cliente, procesos de formularios, se pueden trabajar Modularmente y/o de manera simple:

```
├── base/
│   ├── E/
│   └── R/
│       ├── actx/      (actualizar)
│       ├── aggx/      (agregar)
│       ├── brrx/      (borrar)
│       ├── conx/      (consultar)
│       ├── obtx/      (obtener)
│       ├─────── Alternativas
│       ├── sistemaxR/    (módulo de sistema X)
│       ├── sistemayR/    (módulo de sistema Y)
│       └── index.php     (seguridad) - recomendado
│

```

Cuando se trabaja modularmente se recomienda que los módulos se trabajen en 2 carpetas de acuerdo a su comportamiento en **CtrlERA (sistemaA/ y sistemaR/)** que son las donde se alojará lo necesario para que corra el módulo incrustado.

> #### Idea: R/ no es más que la carpeta donde estarán los archivos que procesarán la información del sistema en lado del servidor (BACKEND).
>
> [](#idea-r-no-es-más-que-la-carpeta-donde-estarán-los-archivos-que-procesarán-la-información-del-sistema-en-lado-del-servidor-backend)

A/ (Almacén)
------------

[](#a-almacén)

Acá están los archivos de preconfiguración que necesite la aplicación (conexiones DB, recursos, funciones y otros ),junto a subcarpetas (\[de ser necesario\], phpmailer, fpdf, phpqrcode, captcha, phpodt y otros) , un archivo principal (configX.php) que incluye las demás configuraciones que a su vez le da comportamiento a las demás tecnologías:

```
├── base/
│   ├── E/
│   ├── R/
│   └── A/
│       ├── sistemaxA/     (módulo de sistema A)
│       ├── sistemayA/     (módulo de sistema B)
│       ├── configX.php    (conf. general)
│       ├── configZ.php    (conf. base de datos)
│       ├── funciones.php  (comportamiento)
│       ├── conectarBd.php (clase PDO)
│       └── index.php      (seguridad) - recomendado
│

```

> #### Idea: A/ no es más que la carpeta donde estarán los archivos de configuración y las tecnologías programables del sistema en lado del servidor (BACKEND).
>
> [](#idea-a-no-es-más-que-la-carpeta-donde-estarán-los-archivos-de-configuración-y-las-tecnologías-programables-del-sistema-en-lado-del-servidor-backend)

#### ESTE PATRÓN DE ARQUITECTURA DE SOFTWARE YA HA SIDO PROBADO CON DISTINTAS TECNOLOGÍAS FRONTEND (FRAMEWORK CSS, JS / LIBRERÍAS DE JS ) ALGUNAS DE ELLAS DEBIERON SER MODIFICADAS A NIVEL DE NÚCLEO ( DEBIDO A SU COMPOSICIÓN PROPIA AL HACER LLAMADO DE OBJETOS) PARA LOGRAR SU ADAPTACIÓN A CTRL ERA.

[](#este-patrón-de-arquitectura-de-software-ya-ha-sido-probado-con-distintas-tecnologías-frontend-framework-css-js--librerías-de-js--algunas-de-ellas-debieron-ser--modificadas-a-nivel-de-núcleo--debido-a-su-composición-propia-al-hacer-llamado-de-objetos-para-lograr-su-adaptación-a-ctrl-era)

> #### Cuando vayas a programar no pienses en TODO, piensa en TODOS...
>
> [](#cuando-vayas-a-programar-no-pienses-en-todo-piensa-en-todos)

###### -Nerio Villalobos

[](#-nerio-villalobos)

###  Health Score

16

—

LowBetter than 5% of packages

Maintenance39

Infrequent updates — may be unmaintained

Popularity2

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity14

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/a989566e3fa51c34d4279eb60a0ae377fb67cd50500d86b39dc810c5de41ec0c?d=identicon)[alqxyz](/maintainers/alqxyz)

---

Top Contributors

[![alqxyz](https://avatars.githubusercontent.com/u/6807594?v=4)](https://github.com/alqxyz "alqxyz (10 commits)")

### Embed Badge

![Health badge](/badges/alqxyz-ctrl-era/health.svg)

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

###  Alternatives

[laravel/telescope

An elegant debug assistant for the Laravel framework.

5.2k67.8M190](/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.7M255](/packages/laravel-dusk)[laravel/prompts

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

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

A simple API extension for DateTime.

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

PHPackages © 2026

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