Librería básica para implementar enums en CakePHP

Installs: 135

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 3

Forks: 0

Open Issues: 0

Type:cakephp-plugin

1.0.0 2019-01-22 20:22 UTC

This package is auto-updated.

Last update: 2024-04-23 07:56:25 UTC


README

Installation

You can install this plugin into your CakePHP application using composer.

The recommended way to install composer packages is:

composer require soluciones-ypunto/cake-enum

Usage

Define your enum lists as follow:

// file Model/Enum/SomeList.php

namespace App\Model\Enum;

use Ypunto\EnumType\Enum\Enum;

class SomeList extends Enum
{
    const VALUE_1 = 1;
    const VALUE_2 = 2;
    const SOME_VALUE = 'any-val';

    /**
     * @return string[]
     */
    public static function getOptions()
    {
        return [
            self::VALUE_1 => __('First'),
            self::VALUE_2 => __('Second'),
            self::SOME_VALUE => __('Some Value'),
        ];
    }
}

Then use them in forms, to display values or to compare then, without using plain strings.

// in templates
// to create select controls
echo $this->Form->control('value', ['options' => \App\Model\Enum\SomeList::getOptions()]);

// to display
echo \App\Model\Enum\SomeList::getOption($entity->value);

// to compare
if ($entity->value === \App\Model\Enum\SomeList::VALUE_1) {
    // do something
}