PHP code example of ngabor84 / enum

1. Go to this page and download the library: Download ngabor84/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/ */

    

ngabor84 / enum example snippets


// Define a new Enum type
class Status extends Enum {

    const ACTIVE = 'active';
    
    const PASSIVE = 'pasive';
    
}

// Use the new Status Enum type
$carStatus = new Status(Status::ACTIVE);
$carStatus->getValue(); // return 'active';

$carStatus2 = new Status();
$carStatus2->setValue(Status::PASSIVE);

if ($carStatus2->isEqualTo($carStatus)) { // it will be false
    echo "\$carStatus2 and \$carStatus has the same value";
} else { // this will be printed
    echo "\$carStatus2 and \$carStatus has different value"; 
    echo "\$carStatus2: $carStatus2"; // print '$carStatus2: passive'
}

Status::isValidValue('active'); // return true
Status::isValidKey('INACTIVE'); // return false
Status::getKeyByValue('passive'); // return 'PASSIVE'
Status::listOptions(); // return ['ACTIVE' => 'active', 'PASSIVE' => 'passive']
Status::listKeys(); // return ['ACTIVE', 'PASSIVE']
Status::listValues(); // return ['active', 'passive']
Status::getDefaultValue(); // return 'active' (it's the first constants value by default, but this method is also overridable)