定制 ichi/enum 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ichi/enum

最新稳定版本:v0.1.2

Composer 安装命令:

composer require ichi/enum

包简介

README 文档

README

参考: PHPで列挙型(enum)を作る by @Hiraku on @Qiita

USAGE

定義例

<?php
namespace App\Enum;

class Status extends \Ichi\Enum\Enum{
    const DISABLED  = 0;
    const VISIBLE   = 1;
    const INVISIBLE = 2;
    const OTHER     = 9;

    protected static $contents = [
        self::DISABLED  => ['name' => '使用不可'],
        self::VISIBLE   => ['name' => '可視',   'visibility' => true],
        self::INVISIBLE => ['name' => '不可視', 'visibility' => false],
        self::OTHER     => ['name' => 'その他', 'visibility' => true],
    ];

    public function comment(){
        return 'IDは' . $this->id . 'っぽい';
    }
}

使用例(個別)

<?php
$enum = App\Enum\Status::VISIBLE(); // `new App\Enum\Status(App\Enum\Status::VISIBLE)`と同じ
$enum->id;           // => 1
$enum->name;         // => '可視'
$enum->visiblity;    // => true
$enum->comment;      // => 'IDは1っぽい'

$enum = App\Enum\Status::DISABLED();
$enum->id;           // => 0
$enum->name;         // => '使用不可'
$enum->visiblity;    // => null // 未定義なものはnull
$enum->comment;      // => 'IDは0っぽい'

使用例(まとめて)

<?php
App\Enum\Status::all();             // => [0 => App\Enum\Status::DISABLED(), 1 => App\Enum\Status::VISIBLE(), 2 => App\Enum\Status::INVISIBLE(), 9 => App\Enum\Status::OTHER()]
App\Enum\Status::all('name');       // => [0 => '使用不可', 1 => '可視', 2 => '不可視', 9 => 'その他']
App\Enum\Status::all('visibility'); // => [0 => null, 1 => true, 2 => false, 9 => true]
App\Enum\Status::all('comment');    // => [0 => 'IDは0っぽい', 1 => 'IDは1っぽい', 2 => 'IDは2っぽい', 9 => 'IDは9っぽい']

统计信息

  • 总下载量: 40.25k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-11-07

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固