PHP code example of eloquent / enumeration
1. Go to this page and download the library: Download eloquent/enumeration 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/ */
eloquent / enumeration example snippets
use Eloquent\Enumeration\AbstractEnumeration;
final class HttpRequestMethod extends AbstractEnumeration
{
const OPTIONS = 'OPTIONS';
const GET = 'GET';
const HEAD = 'HEAD';
const POST = 'POST';
const PUT = 'PUT';
const DELETE = 'DELETE';
const TRACE = 'TRACE';
const CONNECT = 'CONNECT';
}
function handleHttpRequest(HttpRequestMethod $method, $url, $body = null)
{
// handle request...
}
handleHttpRequest(HttpRequestMethod::GET(), 'http://example.org/');
handleHttpRequest(HttpRequestMethod::POST(), 'http://example.org/', 'foo=bar&baz=qux');
function handleHttpRequest(HttpRequestMethod $method, $url, $body = null)
{
if ($method === HttpRequestMethod::POST()) {
// handle POST requests...
} else {
// handle other requests...
}
}
use Eloquent\Enumeration\AbstractMultiton;
final class Planet extends AbstractMultiton
{
/**
* Universal gravitational constant.
*
* @var float
*/
const G = 6.67300E-11;
/**
* @return float
*/
public function surfaceGravity()
{
return self::G * $this->mass / ($this->radius * $this->radius);
}
/**
* @param float $otherMass
*
* @return float
*/
public function surfaceWeight($otherMass)
{
return $otherMass * $this->surfaceGravity();
}
protected static function initializeMembers()
{
new static('MERCURY', 3.302e23, 2.4397e6);
new static('VENUS', 4.869e24, 6.0518e6);
new static('EARTH', 5.9742e24, 6.37814e6);
new static('MARS', 6.4191e23, 3.3972e6);
new static('JUPITER', 1.8987e27, 7.1492e7);
new static('SATURN', 5.6851e26, 6.0268e7);
new static('URANUS', 8.6849e25, 2.5559e7);
new static('NEPTUNE', 1.0244e26, 2.4764e7);
// new static('PLUTO', 1.31e22, 1.180e6);
}
/**
* @param string $key
* @param float $mass
* @param float $radius
*/
protected function __construct($key, $mass, $radius)
{
parent::__construct($key);
$this->mass = $mass;
$this->radius = $radius;
}
private $mass;
private $radius;
}
$earthWeight = 175;
$mass = $earthWeight / Planet::EARTH()->surfaceGravity();
foreach (Planet::members() as $planet) {
echo sprintf(
'Your weight on %s is %f' . PHP_EOL,
$planet,
$planet->surfaceWeight($mass)
);
}
class CustomHttpMethod extends HttpRequestMethod
{
const PATCH = 'PATCH';
}
use Eloquent\Enumeration\AbstractEnumeration;
abstract class AbstractHttpRequestMethod extends AbstractEnumeration
{
const OPTIONS = 'OPTIONS';
const GET = 'GET';
const HEAD = 'HEAD';
const POST = 'POST';
const PUT = 'PUT';
const DELETE = 'DELETE';
const TRACE = 'TRACE';
const CONNECT = 'CONNECT';
}
final class HttpRequestMethod extends AbstractHttpRequestMethod {}
final class CustomHttpMethod extends AbstractHttpRequestMethod
{
const PATCH = 'PATCH';
}
function handleHttpRequest(HttpRequestMethod $method, $url, $body = null)
{
// only handles normal requests...
}
function handleCustomHttpRequest(
CustomHttpRequestMethod $method,
$url,
$body = null
) {
// handles normal requests, and custom requests...
}