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(3w ago)0911MITPHPPHP &gt;=7.4

Since Feb 13Pushed 3w 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 3d 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

42

—

FairBetter than 88% of packages

Maintenance95

Actively maintained with recent releases

Popularity13

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

23d 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

[laravel/framework

The Laravel Framework.

34.8k543.8M20.1k](/packages/laravel-framework)[craftcms/cms

Craft CMS

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

Dashboard and code-driven configuration for Laravel queues.

4.2k95.4M307](/packages/laravel-horizon)[civicrm/civicrm-core

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

751291.4k43](/packages/civicrm-civicrm-core)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.6M576](/packages/shopware-core)[mynaparrot/plugnmeet-sdk

plugNmeet PHP SDK

102.8k](/packages/mynaparrot-plugnmeet-sdk)

PHPackages © 2026

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