PHPackages                             maximo-perez-villalba/framework-http - 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. maximo-perez-villalba/framework-http

ActiveLibrary[Framework](/categories/framework)

maximo-perez-villalba/framework-http
====================================

El componente implementa una simple arquitectura HTTP en PHP con fines pedagógicos.

2.4.4(3y ago)034proprietaryPHPPHP &gt;=7.4

Since Apr 12Pushed 3y ago1 watchersCompare

[ Source](https://github.com/maximo-perez-villalba/framework-http)[ Packagist](https://packagist.org/packages/maximo-perez-villalba/framework-http)[ RSS](/packages/maximo-perez-villalba-framework-http/feed)WikiDiscussions main Synced 4d ago

READMEChangelogDependencies (1)Versions (18)Used By (0)

framework-http
==============

[](#framework-http)

La componente implementa una simple arquitectura HTTP orientada a objetos escrita en PHP.
Este proyecto tiene fines pedagógico.

Instalación
-----------

[](#instalación)

Se puede instalar framework-http a través de Composer de dos formas:

1 **Desde una consola de comandos** ir al directorio del proyecto y ejecutar:

```
composer require maximo-perez-villalba/framework-http
```

2 También **modificando manualmente el archivo composer.json**

```
"require": {
  "maximo-perez-villalba/framework-http": ">=2.4.0"
},
```

2.1 Luego desde una consola de comandos ejecutar:

```
composer update
```

Como se usa
-----------

[](#como-se-usa)

```
HTTPRequestsRoutes::start( 'Ruta del archivo de  configuración' );
HTTPRequestsRoutes::executeCurrentRequest();
HTTPRequestsRoutes::executeCurrentResponse();
```

Documentación
-------------

[](#documentación)

### Mensajes HTTP

[](#mensajes-http)

> Los mensajes HTTP son los medios por los cuales se intercambian datos entre servidores y clientes.
> Hay dos tipos de mensajes:
>
> - ***peticiones*** enviadas por el cliente al servidor para pedir el inicio de una acción
> - y ***respuestas*** que son la respuesta del servidor.
>
> Los mensajes HTTP están compuestos de texto, codificado en ASCII, y pueden comprender múltiples líneas.
> Fuente: [developer.mozilla.org: Mensajes HTTP](https://developer.mozilla.org/es/docs/Web/HTTP/Messages)

**Ejemplo de comunicación a través del protocolo HTTP**

```
POST / HTTP 1.1
GET /background.png HTTP/1.0
HEAD /test.html?query=alibaba HTTP/1.1
OPTIONS /anypage.html HTTP/1.0

```

Los clientes web realizan peticiones sobre los servidores web invocando una [URI](https://es.wikipedia.org/wiki/Identificador_de_recursos_uniforme) (Uniform Resource Identifier).

[![URI = URL + URN](https://camo.githubusercontent.com/aaa67b2809fb4ade91b5fab2506206bd943e3014b864c81ac03251d6e3e4dfe0/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f632f63332f5552495f45756c65725f4469616772616d5f6e6f5f6c6f6e655f555249732e7376672f32323070782d5552495f45756c65725f4469616772616d5f6e6f5f6c6f6e655f555249732e7376672e706e67)](https://camo.githubusercontent.com/aaa67b2809fb4ade91b5fab2506206bd943e3014b864c81ac03251d6e3e4dfe0/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f632f63332f5552495f45756c65725f4469616772616d5f6e6f5f6c6f6e655f555249732e7376672f32323070782d5552495f45756c65725f4469616772616d5f6e6f5f6c6f6e655f555249732e7376672e706e67)
Siendo la URL la ubicación del servidor web y la URN la ubicación específica del recurso/acción que se solicita.

Los servidores web son sistemas preparados para escuchar los eventos de **solicitud de recursos** enviados por los clientes escrito con el protocolo HTTP a través de una conexión de red.
Existen dos tipos de recursos que pueden solicitar los clientes:

- **Recursos estáticos** cuya respuesta es simplemente devolver/transmitir el archivo. Los recursos estáticos son por ejemplo los archivos : HTML, PDF, videos, fotos, etc.
- **Recursos dinámicos** en este caso, el servidor delega la ejecución en el script apuntado. Pudiendo el script estar escrito en muchos lenguajes de programación como PHP, Java, NodeJS, CGI, ect.

¿Que problema resuelve?
-----------------------

[](#que-problema-resuelve)

Este componente permite controlar un conjunto de peticiones escritas con el protocolo HTTP. Para poder funcionar la componente requiere tener registradas las peticiones que puede atender.

De manera tal que asocia la URN de la petición a una clase que ejecutaran acciones personalizadas.
El conjunto de peticiones son registradas y asociadas a un método en una clase en un archivo de configuración, siendo este archivo donde se define la API rest de la aplicación web.

[![Figure: UML flowchart > HTTP Request Routes :: start](/docs/uml-flowchart-routes-start.png)](/docs/uml-flowchart-routes-start.png)
**Figure: *UML flowchart &gt; HTTP Request Routes :: start***

[![Figure: UML flowchart > HTTP Request Routes :: set current request](/docs/uml-flowchart-routes-set-current-request.png)](/docs/uml-flowchart-routes-set-current-request.png)
**Figure: *UML flowchart &gt; HTTP Request Routes:: set current request***

[![Figure: UML flowchart > HTTP Request Routes :: execute current request](/docs/uml-flowchart-routes-execute-current-request.png)](/docs/uml-flowchart-routes-execute-current-request.png)
**Figure: *UML flowchart &gt; HTTP Request Routes :: execute current request***

[![Figure: UML class > HTTP framework](/docs/uml-class-http-framework.png)](/docs/uml-class-http-framework.png)
**Figure: *UML class &gt; HTTP framework***

[![Figure: UML sequence > HTTP request routes :: start](/docs/uml-sequence-http-requests-routes-start.png)](/docs/uml-sequence-http-requests-routes-start.png)
**Figure: *UML sequence &gt; HTTP request routes :: start***

[![Figure: UML sequence > HTTP request routes :: execute current request](/docs/uml-sequence-http-requests-routes-execute-current-request.png)](/docs/uml-sequence-http-requests-routes-execute-current-request.png)
**Figure: *UML sequence &gt; HTTP request routes :: execute current request***

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity57

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

Total

17

Last Release

1418d ago

Major Versions

1.7.4 → 2.0.02022-06-17

### Community

Maintainers

![](https://www.gravatar.com/avatar/d9a7da19851a12e5a8cb6997a2e0e2f6aa841800ad9de970dd8bcc163625b272?d=identicon)[maximo-perez-villalba](/maintainers/maximo-perez-villalba)

---

Top Contributors

[![maximo-perez-villalba](https://avatars.githubusercontent.com/u/102780243?v=4)](https://github.com/maximo-perez-villalba "maximo-perez-villalba (24 commits)")

---

Tags

httpphp

### Embed Badge

![Health badge](/badges/maximo-perez-villalba-framework-http/health.svg)

```
[![Health](https://phpackages.com/badges/maximo-perez-villalba-framework-http/health.svg)](https://phpackages.com/packages/maximo-perez-villalba-framework-http)
```

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