<?php 
 
use Colors\Color; 
use Evenement\EventEmitter; 
 
$root = dirname(__DIR__, 3); 
$slash = DIRECTORY_SEPARATOR; 
 
function url($url = null) 
{ 
    global $serverConfig; 
    return "http://{$serverConfig['host']}:{$serverConfig['port']}/{$url}"; 
} 
 
/** 
 * Root directory path 
 * @param null $path 
 * @return string 
 */ 
function root_path($path = null) 
{ 
    global $root, $slash; 
    return "{$root}{$slash}{$path}"; 
} 
 
 
/** 
 * Application directory path 
 * @param null $path 
 * @return string 
 */ 
function app_path($path = null) 
{ 
    global $root, $slash; 
    return "{$root}{$slash}app{$slash}{$path}"; 
} 
 
/** 
 * Application public directory path 
 * @param null $path 
 * @return string 
 */ 
function public_path($path = null) 
{ 
    global $root, $slash; 
    return "{$root}{$slash}public{$slash}{$path}"; 
} 
 
/** 
 * Storage directory path 
 * @param null $path 
 * @return string 
 */ 
function storage_path($path = null) 
{ 
    global $root, $slash; 
    return "{$root}{$slash}storage{$slash}{$path}"; 
} 
 
/** 
 * Command listeners path 
 * @param null $path 
 * @return string 
 */ 
function listener_path($path = null) 
{ 
    global $root, $slash; 
    return "{$root}{$slash}app{$slash}Socket{$slash}Listeners{$slash}{$path}"; 
} 
 
/** 
 * Controllers path 
 * @param null $path 
 * @return string 
 */ 
function controller_path($path = null) 
{ 
    global $root, $slash; 
    return "{$root}{$slash}app{$slash}Http{$slash}Controllers{$slash}{$path}"; 
} 
 
/** 
 * Filesystem helper 
 * @return \React\Filesystem\FilesystemInterface 
 */ 
function filesystem() 
{ 
    global $filesystem; 
    return $filesystem; 
} 
 
function config(string $file) 
{ 
    global $slash; 
    return require root_path("config{$slash}{$file}.php"); 
} 
 
$event = new EventEmitter; 
/** 
 * Event object 
 * @return EventEmitter 
 */ 
function event() 
{ 
    global $event; 
    return $event; 
} 
 
 
/** 
 * Console color 
 * @param string $text 
 * @return Color 
 */ 
$color = new Color(); 
function color($text) 
{ 
    global $color; 
    return $color($text); 
} 
 
 |