PHPackages                             gestionlan/framework - 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. gestionlan/framework

ActiveLibrary[Framework](/categories/framework)

gestionlan/framework
====================

1.2.8.x-dev(3y ago)11.5k4proprietaryHTMLCI failing

Since Oct 6Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/manusreload/GLFramework)[ Packagist](https://packagist.org/packages/gestionlan/framework)[ RSS](/packages/gestionlan-framework/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (17)Versions (11)Used By (0)

GLFramework
===========

[](#glframework)

GestionLan PHP Framework
------------------------

[](#gestionlan-php-framework)

- [GLFramework](#glframework)
    - [GestionLan PHP Framework](#gestionlan-php-framework)
        - [Requisitos](#requisitos)
        - [Tecnología utilizada en el desarrollo.](#tecnolog%C3%ADa-utilizada-en-el-desarrollo)
        - [Creación de una aplicación.](#creaci%C3%B3n-de-una-aplicaci%C3%B3n)
        - [Archivo "config.yml"](#archivo-configyml)
            - [Listado de los módulos internos](#listado-de-los-m%C3%B3dulos-internos)
        - [Controlador](#controlador)
        - [Vista](#vista)
        - [Modelo](#modelo)
            - [Ejemplo de Modelo:](#ejemplo-de-modelo)

En este documento se explica el funcionamiento y como utilizar este conjunto de funciones para realizar software.

### Requisitos

[](#requisitos)

- PHP &gt;= 7.2

### Tecnología utilizada en el desarrollo.

[](#tecnología-utilizada-en-el-desarrollo)

Para que este framework funcione es necesario que se ejecute bajo un entorno PHP. El framework tiene varias rutas de entrada, y en función de lo que se desee hacer se utilizan unas u otras. Bajo PHP se han utilizado varias librerías gestionadas por "composer". Entre otras destacan:

- Twig: Se utiliza en el renderizado de las vistas.
- Yaml: Para los archivos de configuración.
- AltoRouter: Para el enrutamiento de las peticiones.

El framework también incluye un sistema de módulos, que junto con los eventos permiten redefinir partes de lo que ya se ha creado. Estos módulos tienen que ser habilitados por la propia aplicación en su archivo de configuración.

### Creación de una aplicación.

[](#creación-de-una-aplicación)

Para comenzar a crear una aplicación es necesario tener instalado "composer" (). Nos vamos al repositorio del código fuente () y nos descargamos la carpeta "example"

### Archivo "config.yml"

[](#archivo-configyml)

Manual del formato Yaml: [http://symfony.com/doc/current/components/yaml/yaml\_format.html](http://symfony.com/doc/current/components/yaml/yaml_format.html)En este archivo se define la configuración de la aplicación.

```
app:
  basepath: [Ruta base de la aplicación:/beta,]
  index: [Nombre del archivo de inicio:index,home]
  name: [Nombre de la aplicación:Demo]
  banner: [Banner de la aplicación:/img/banner.png]
  favicon: [Icono de navegador:/images/logo.jpg]

  controllers: [Directorio de los controladores:pages,controller]
  model: [Directorio de los modelos:model]
  views: [Directorio de las vistas:views]
  upload: [Directorio de subida de archivos:uploads]

  routes: [Rutas especiales a controladores]
    - [NombreClaseControlador]: [[URL de destino], [METODO:GET|POST,GET,POST]]
    - MyNameSpace\home: ["/home/example/[i:id]", GET]
    - home: ["/home/example/[i:id]", GET]
    - sub_home: ["/home/sub/example/[i:id]"]

database: [Configuración de la base de datos]
  hostname: 127.0.0.1
  username: root
  password:
  database: dbdemo
modules: [Módulos activos para la aplicación]
  internal: [Modulos internos de framework]
    - admin
    - group_permissions
  modules:  [Modulos de la aplicación, se encuentran en la carpeta modules]
```

#### Listado de los módulos internos

[](#listado-de-los-módulos-internos)

- admin: Conjunto de utilidades para la administración interna de la aplicación.
- group\_permissions: Añade la posibilidad de asignar páginas por grupos de usuarios

### Controlador

[](#controlador)

Para definir un controlador es necesario crear un archivo que siga un cierto patrón. Crearemos un archivo sobre una de las carpetas que hemos definido como controlador en el archivo de configuración. En este archivo vamos a definir una clase con el siguiente nombre: `[< nombre directorio >_]< nombre del archivo >` y extenderá a la clase Controller o a alguna de sus descendientes como puede ser AuthController. Podemos situarla con un espacio de nombres, el framework se encarga de detectar estos matices.

### Vista

[](#vista)

La vista se programa con plantillas Twig, y existen algunas variables globales a las cuales se pueden acceder en las plantillas.

- `this` Es el controlador que se esta ejecutando. Se pueden acceder a todas las propiedades públicas con `{{ this.public_var }}`
- `config` Es un array con la configuración del framework, se puede acceder como: `{{ config.app.name }}`
- `_GET` Array con las varibles de petición $\_GET
- `_POST` Array con las varibles de petición $\_POST
- `_REQUEST` Array con las varibles de petición $\_REQUEST
- `render` Objeto que contiene el motor de renderizado para las vistas Twig.
- `manager` Objeto de la clase ModuleManager. Ser puede utilizar para ver si hay módulos activos: `{% if manager.exists("admin") %}`

### Modelo

[](#modelo)

Aquí se define como se tratan los datos de la base de datos. Las columnas se definen en una lista, en la que se indica el índice y los campos de la tabla. También se define el nombre de la tabla.

#### Ejemplo de Modelo:

[](#ejemplo-de-modelo)

```
class User extends Model
{
    var $id;
    var $user_name;
    var $password;
    var $privilegios;
    var $nombre;
    var $email;
    var $admin;
    protected $table_name = "user";
    protected $definition = array(
        'index' => 'id',
        'fields' => array(
            'user_name' => "varchar(20)",
            'password' => "varchar(200)",
            'privilegios' => "text",
            'admin' => "int(11)",
            'nombre' => "text",
            'email' => "text",
        )
    );
    public function getByUserPassword($user, $password)
    {
        return $this->db->select_first("SELECT * FROM {$this->table_name} WHERE user_name = '$user' AND password = '$password'");
    }
    public function encrypt($pass)
    {
        return md5($pass);
    }
    public function getPages()
    {
        $pages = new Page();
        $userPages = new UserPage();
        $sql = "SELECT * FROM " . $userPages->getTableName() . " as up
        LEFT JOIN {$pages->getTableName()} as p ON up.id_page = p.id
        WHERE up.id_user = " . $this->id;
        return $this->db->select($sql);
    }
}
```

Para comprobar los cambios en las tablas, acceda a  Allí se indican los cambio que se van a realizar en la base de datos. Pulse en el enlace de abajo para realizar estos cambios en la base de datos.

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance56

Moderate activity, may be stable

Popularity20

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 96.5% 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 ~123 days

Total

5

Last Release

1337d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2d9f037c6a0dba17a01604ec18e86968d7eca2e50e1e3de9112259d36a719f83?d=identicon)[manusreload](/maintainers/manusreload)

---

Top Contributors

[![manusreload](https://avatars.githubusercontent.com/u/1742458?v=4)](https://github.com/manusreload "manusreload (276 commits)")[![franseg1985](https://avatars.githubusercontent.com/u/6060392?v=4)](https://github.com/franseg1985 "franseg1985 (3 commits)")[![mgip](https://avatars.githubusercontent.com/u/46616108?v=4)](https://github.com/mgip "mgip (3 commits)")[![shawe](https://avatars.githubusercontent.com/u/145989?v=4)](https://github.com/shawe "shawe (2 commits)")[![fseguraGestionlan](https://avatars.githubusercontent.com/u/85032324?v=4)](https://github.com/fseguraGestionlan "fseguraGestionlan (1 commits)")[![rsanjoseo](https://avatars.githubusercontent.com/u/27363683?v=4)](https://github.com/rsanjoseo "rsanjoseo (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/gestionlan-framework/health.svg)

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

###  Alternatives

[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[contao/core-bundle

Contao Open Source CMS

1231.6M2.4k](/packages/contao-core-bundle)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)

PHPackages © 2026

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