PHPackages                             edesarrollos/yii2-ed - 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. edesarrollos/yii2-ed

ActiveLibrary[Framework](/categories/framework)

edesarrollos/yii2-ed
====================

Conjunto de módulos de eDesarrollos

2.0.4(2mo ago)01011MITPHPPHP &gt;=7.4

Since Feb 13Pushed 2mo agoCompare

[ Source](https://github.com/hugoquijada/yii2-ed)[ Packagist](https://packagist.org/packages/edesarrollos/yii2-ed)[ RSS](/packages/edesarrollos-yii2-ed/feed)WikiDiscussions main Synced 2w ago

READMEChangelogDependencies (25)Versions (13)Used By (1)

yii2-ed
=======

[](#yii2-ed)

Libreria compartida de eDesarrollos para Yii2. Centraliza controladores REST, modelos base, respuesta estandar, exportacion de reportes, correo, OpenAPI y utilidades reutilizables.

Requisitos
----------

[](#requisitos)

- PHP `>= 7.4`
- Yii2 `^2.0.46`

Instalacion
-----------

[](#instalacion)

```
composer require edesarrollos/yii2-ed
```

Dependencias principales
------------------------

[](#dependencias-principales)

- `firebase/php-jwt`
- `ramsey/uuid`
- `hqsoft/reportkit`
- `phpoffice/phpword`
- `yiisoft/yii2-symfonymailer`

Estructura principal
--------------------

[](#estructura-principal)

- `src/data/`: `Respuesta` y estructuras compartidas
- `src/models/`: modelos base reutilizables
- `src/rest/`: controladores REST, serializer y url manager
- `src/formatters/`: exportacion CSV, XLSX, PDF y DOCX
- `src/openapi/`: generador de OpenAPI
- `src/mail/`: modulo reusable de correo
- `src/cron/`: scheduler y jobs
- `src/gii/`: extensiones para Gii

REST
----

[](#rest)

Base principal:

- `src/rest/JsonController.php`
- `src/rest/AuthController.php`

Convencion actual:

- `GET` -&gt; `actionIndex()`
- `POST` -&gt; `actionPost()`
- `PUT` -&gt; `actionPut()`
- `DELETE` -&gt; `actionDelete()`

`AuthController` hereda de `JsonController` y agrega autenticacion sobre la misma base de formatos y respuestas.

Formatos soportados
-------------------

[](#formatos-soportados)

`UrlManager` soporta:

- `json`
- `xml`
- `html`
- `sql`
- `csv`
- `xlsx`
- `pdf`
- `docx`

Ejemplo:

```
/v1/usuario.json
/v1/usuario.xlsx
/v1/usuario.pdf

```

Respuesta estandar
------------------

[](#respuesta-estandar)

`src/data/Respuesta.php` se usa para:

- respuestas CRUD
- errores de validacion
- respuestas paginadas
- exportacion automatica
- devolver un `Document` manual de ReportKit

Reportes
--------

[](#reportes)

`src/models/ModeloBase.php` integra la configuracion global de exportacion desde `Yii::$app->params['exportacion']`.

Metodos importantes:

- `configuracionReporte()`
- `columnasReporte()`
- `filaReporte()`
- `documentoReporte()`

Los formateadores disponibles son:

- `CsvFormatter`
- `SpreadsheetFormatter`
- `PdfFormatter`
- `DocxFormatter`

OpenAPI
-------

[](#openapi)

El generador esta en:

- `src/openapi/Generator.php`
- `src/openapi/comandos/OpenapiController.php`

Convenciones disponibles:

- `mostrarEnOpenapi(): bool`
- `accionesOcultasOpenapi(): array`
- `openapiControlador(): array`
- `openapiAcciones(): array`

Ejemplo para describir un controlador y sus acciones:

```
/**
 * Administracion de usuarios del sistema.
 */
class UsuarioController extends AuthController {
  public static function openapiControlador(): array {
    return [
      'descripcion' => 'Operaciones disponibles para usuarios.',
    ];
  }

  public static function openapiAcciones(): array {
    return [
      'index' => [
        'resumen' => 'Lista usuarios',
        'descripcion' => 'Regresa el listado paginado de usuarios.',
      ],
      'post' => [
        'resumen' => 'Guarda usuario',
        'descripcion' => 'Crea o actualiza un usuario.',
      ],
      'delete' => [
        'resumen' => 'Elimina usuario',
        'descripcion' => 'Marca un usuario como eliminado.',
      ],
      'guardar-permiso' => [
        'resumen' => 'Guarda permiso',
        'descripcion' => 'Asigna o actualiza un permiso para el usuario.',
      ],
    ];
  }
}
```

El indice del arreglo en `openapiAcciones()` debe usar el `actionId` real de Yii:

- `actionGuardarPermiso()` -&gt; `guardar-permiso`
- `actionIniciarSesion()` -&gt; `iniciar-sesion`
- `actionRefrescarToken()` -&gt; `refrescar-token`

Correo
------

[](#correo)

El modulo reusable de correo vive en `src/mail/`.

Los proyectos consumidores deben colocar sus vistas en `@app/mail` para evitar personalizaciones dentro de `vendor`.

Notas
-----

[](#notas)

- esta libreria esta pensada para proyectos Yii2 internos
- cuando cambien las convenciones REST base, conviene subir version mayor
- si agregas dependencias aqui, los proyectos consumidores deben actualizar su `vendor`
- para mas detalle operativo, revisa `DOCUMENTACION.md`

###  Health Score

39

—

LowBetter than 84% of packages

Maintenance86

Actively maintained with recent releases

Popularity11

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 81% 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 ~11 days

Recently: every ~2 days

Total

12

Last Release

68d ago

Major Versions

1.0.6 → 2.0.02026-06-05

### Community

Maintainers

![](https://www.gravatar.com/avatar/83ecb9c71e00dc077f389e9cdeba1d8b401f3d8d77cb2cbb459f21579e866361?d=identicon)[rsotobernal](/maintainers/rsotobernal)

---

Top Contributors

[![hugoquijada](https://avatars.githubusercontent.com/u/2067204?v=4)](https://github.com/hugoquijada "hugoquijada (34 commits)")[![angelgajon](https://avatars.githubusercontent.com/u/114529211?v=4)](https://github.com/angelgajon "angelgajon (8 commits)")

### Embed Badge

![Health badge](/badges/edesarrollos-yii2-ed/health.svg)

```
[![Health](https://phpackages.com/badges/edesarrollos-yii2-ed/health.svg)](https://phpackages.com/packages/edesarrollos-yii2-ed)
```

###  Alternatives

[craftcms/cms

Craft CMS

3.6k3.7M3.4k](/packages/craftcms-cms)[laravel/horizon

Dashboard and code-driven configuration for Laravel queues.

4.2k99.8M355](/packages/laravel-horizon)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

762297.9k53](/packages/civicrm-civicrm-core)[skeeks/cms

SkeekS CMS — control panel and tools based on php framework Yii2

13926.0k66](/packages/skeeks-cms)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.8M674](/packages/shopware-core)[abydahana/aksara

Aksara is a modern, developer-friendly framework and CMS built on CodeIgniter 4, featuring rapid CRUD development, modular architecture, smart routing, flexible access control, API integration, and an AI assistant to make content management faster and smarter.

1141.2k](/packages/abydahana-aksara)

PHPackages © 2026

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