PHP code example of corp-soft / php-enum

1. Go to this page and download the library: Download corp-soft/php-enum library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

corp-soft / php-enum example snippets




namespace App\Enums;

use CorpSoft\Enum\BaseEnum;

class PostStatus extends BaseEnum
{
    const PENDING = 0;
    const APPROVED = 1;
    const REJECTED = 2;
    const POSTPONED = 3;
    
    /**
     * @var array
     */
    public static $list = [
        self::PENDING => 'Pending',
        self::APPROVED => 'Approved',
        self::REJECTED => 'Rejected',
        self::POSTPONED => 'Postponed',
    ];
}

$status = new PostStatus(PostStatus::PENDING);

// or you can use the magic methods

$status = PostStatus::PENDING();

PostStatus::getConstantsByValue() // ['PENDING', 'APPROVED', 'REJECTED', 'POSTPONED']
PostStatus::getConstantsByName() // ['PENDING' => 0, 'APPROVED' => 1, 'REJECTED' => 2, 'POSTPONED' => 3]
PostStatus::isValidName(1) // false
PostStatus::isValidName('APPROVED') // true
PostStatus::isValidValue(1) // true
PostStatus::isValidValue('Approved') // false
PostStatus::listData() // ['Pending', 'Approved', 'Rejected', 'Postponed']
PostStatus::getLabel(1) // Approved
PostStatus::getValueByName('Approved') // 1



use App\Enums\PostStatus;

class Post
{
   /**
    * @var integer status 
    */
    public $status;
    
    public function setStatus(PostStatus $status)
    {
        $this->status = $status->getValue();
    }

    public function getStatus(): PostStatus
    {
        return $this->status;
    }
}

php composer.phar 

"corp-soft/php-enum": "*"