PHPackages                             luinuxscl/option-package - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. luinuxscl/option-package

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

luinuxscl/option-package
========================

Paquete Laravel para gestionar opciones polimórficas asociadas a cualquier modelo.

v1.0.0(1y ago)06MITPHPPHP &gt;=8.0

Since Mar 9Pushed 1y ago1 watchersCompare

[ Source](https://github.com/luinuxscl/laravel-option-model)[ Packagist](https://packagist.org/packages/luinuxscl/option-package)[ RSS](/packages/luinuxscl-option-package/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (3)Versions (2)Used By (0)

OptionPackage
=============

[](#optionpackage)

**OptionPackage** es un paquete para Laravel que permite gestionar opciones polimórficas asociadas a cualquier modelo. Facilita la asignación, recuperación y eliminación de opciones específicas para distintos modelos en tu aplicación.

Características
---------------

[](#características)

- **Gestión de Opciones Polimórficas:** Asocia opciones a cualquier modelo utilizando relaciones polimórficas.
- **Fácil Integración:** Incluye un trait que simplifica la implementación en tus modelos.
- **Controladores y Rutas Predeterminadas:** Proporciona controladores y rutas para gestionar opciones a través de API.

Requisitos
----------

[](#requisitos)

- **PHP:** &gt;=8.0
- **Laravel:** &gt;=11.0

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

[](#instalación)

1. **Instalar el paquete vía Composer:**

    ```
    composer require luinuxscl/option-package
    ```
2. **Publicar y ejecutar las migraciones:**

    Publica las migraciones del paquete:

    ```
    php artisan vendor:publish --provider="Luinuxscl\OptionPackage\Providers\OptionServiceProvider" --tag="migrations"
    ```

    Luego, ejecuta las migraciones:

    ```
    php artisan migrate
    ```
3. **Publicar el archivo de configuración (opcional):**

    Si deseas personalizar la configuración del paquete, puedes publicar el archivo de configuración:

    ```
    php artisan vendor:publish --provider="Luinuxscl\OptionPackage\Providers\OptionServiceProvider" --tag="config"
    ```

Uso
---

[](#uso)

1. **Incorporar el trait `HasOptions` en tus modelos:**

    Añade el trait `HasOptions` a cualquier modelo que desees que tenga opciones:

    ```
    use Illuminate\Database\Eloquent\Model;
    use Luinuxscl\OptionPackage\Traits\HasOptions;

    class User extends Model
    {
        use HasOptions;
    }
    ```
2. **Asignar, obtener y eliminar opciones:**

    - **Asignar una opción:**

        ```
        $user->setOption('theme', 'dark');
        ```
    - **Obtener una opción:**

        ```
        $theme = $user->getOption('theme', 'light'); // 'light' es el valor por defecto si no se encuentra la opción
        ```
    - **Eliminar una opción:**

        ```
        $user->removeOption('theme');
        ```
3. **Uso de la Facade `Option` para opciones globales:**

    También puedes utilizar la Facade `Option` para gestionar opciones globales:

    ```
    use Luinuxscl\OptionPackage\Facades\Option;

    // Asignar una opción global
    Option::set('site_name', 'Mi Sitio Web');

    // Obtener una opción global
    $siteName = Option::get('site_name');

    // Eliminar una opción global
    Option::remove('site_name');
    ```

Configuración
-------------

[](#configuración)

El archivo de configuración `option.php` permite definir ajustes personalizados para el paquete. Después de publicarlo, puedes encontrarlo en el directorio `config` de tu aplicación. Las opciones disponibles incluyen:

- **default\_model:** Define un modelo por defecto para las opciones globales.

Contribuciones
--------------

[](#contribuciones)

¡Las contribuciones son bienvenidas! Si deseas mejorar este paquete, por favor, envía un pull request o abre un issue en el repositorio de GitHub.

Licencia
--------

[](#licencia)

Este paquete está licenciado bajo la licencia MIT. Consulta el archivo `LICENSE` para más información.

Autor
-----

[](#autor)

- **Nombre:** Luis Sepúlveda
- **GitHub:** [luinuxscl](https://github.com/luinuxscl)
- **Email:**
- **Página web:** [like.cl](https://like.cl)

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance45

Moderate activity, may be stable

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity42

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

Unknown

Total

1

Last Release

430d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/dad07c7f091cdc3987b308c455f3f247febb7cf9ba7ab671bceaefd2530b825f?d=identicon)[luinuxscl](/maintainers/luinuxscl)

---

Top Contributors

[![luinuxscl](https://avatars.githubusercontent.com/u/134660453?v=4)](https://github.com/luinuxscl "luinuxscl (6 commits)")

---

Tags

laraveloptionspolimórficoconfiguración

### Embed Badge

![Health badge](/badges/luinuxscl-option-package/health.svg)

```
[![Health](https://phpackages.com/badges/luinuxscl-option-package/health.svg)](https://phpackages.com/packages/luinuxscl-option-package)
```

###  Alternatives

[barryvdh/laravel-ide-helper

Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.

14.9k123.0M687](/packages/barryvdh-laravel-ide-helper)[laracraft-tech/laravel-useful-additions

A collection of useful Laravel additions!

58109.4k](/packages/laracraft-tech-laravel-useful-additions)[glhd/special

1929.4k](/packages/glhd-special)[bjuppa/laravel-blog

Add blog functionality to your Laravel project

483.3k2](/packages/bjuppa-laravel-blog)

PHPackages © 2026

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