Skip to content

Latest commit

 

History

History
156 lines (126 loc) · 6.4 KB

File metadata and controls

156 lines (126 loc) · 6.4 KB

Convert


boolToString

converts true into 'true' and false into 'false'. Well of course it does not really convert the original value, but gives you a string representation of that value.

Convert::boolToString(bool $bValue) : string
$sBool = Convert::boolToString(
    true
);

// type: string
// 'true'
var_dump(
    $aObject
);

constValueToKey

returns constant name on its integer value - works for php constants.

Convert::constValueToKey(int $iValue, array $aConstant = array()) : string

Example

$sLevel = Convert::constValueToKey(1024); # E_USER_NOTICE

Result

// type: string
'E_USER_NOTICE'

objectToArray

converts any object into array.

Convert::objectToArray(mixed $mObject) : mixed

Example

$aObject = Convert::objectToArray(
    $oObject
);

// array
var_dump(
    gettype($aObject)
);

serialize

allows serialization of objects, too.
It wraps \Opis\Closure\serialize() function, makes it systemwide usable (see https://opis.io/closure).

Convert::serialize(mixed $mValue) : string

Example

/** \MVC\DataType\DTRoute $oDTRoute */
$sSerialized = Convert::serialize($oDTRoute)

Content of $sSerialized

O:16:"Opis\\Closure\\Box":2:{i:0;i:3;i:1;a:2:{i:0;s:20:"MVC\\DataType\\DTRoute";i:1;a:11:{s:4:"path";s:1:"/";s:13:"requestMethod";s:3:"GET";s:15:"methodsAssigned";a:1:{i:0;s:3:"GET";}s:5:"query";s:28:"\\Foo\\Controller\\Index::index";s:6:"module";s:3:"Foo";s:5:"class";s:21:"\\Foo\\Controller\\Index";s:9:"classFile";s:46:"/var/www/html/modules/Foo/Controller/Index.php";s:6:"method";s:5:"index";s:10:"additional";O:16:"Opis\\Closure\\Box":2:{i:0;i:3;i:1;a:2:{i:0;s:32:"Foo\\DataType\\DTRoutingAdditional";i:1;a:6:{s:6:"sTitle";s:4:"Home";s:9:"sTemplate";s:26:"Frontend/content/index.tpl";s:8:"sContent";s:0:"";s:6:"aStyle";a:5:{i:0;s:57:"/Emvicy/assets/bootstrap-5.3.3-dist/css/bootstrap.min.css";i:1;s:57:"/Emvicy/assets/fontawesome-free-6.7.2-web/css/all.min.css";i:2;s:29:"/Emvicy/styles/Emvicy.min.css";i:3;s:30:"/Ws_old/assets/pnotify.min.css";i:4;s:42:"/Ws_old/assets/pnotify.brighttheme.min.css";}s:7:"aScript";a:9:{i:0;s:47:"/Emvicy/assets/jquery-3.7.1/jquery-3.7.1.min.js";i:1;s:55:"/Emvicy/assets/jquery-cookie-1.4.1/jquery.cookie.min.js";i:2;s:43:"/Emvicy/assets/popper-v2.11.8/popper.min.js";i:3;s:55:"/Emvicy/assets/bootstrap-5.3.3-dist/js/bootstrap.min.js";i:4;s:36:"/Emvicy/scripts/cookieConsent.min.js";i:5;s:29:"/Ws_old/assets/pnotify.min.js";i:6;s:37:"/Ws_old/assets/pnotify.desktop.min.js";i:7;s:30:"/Ws_old/scripts/pnotify.min.js";i:8;s:34:"/Ws/scripts/wss.domain.port.min.js";}s:3:"' . "\0" . '?' . "\0" . '";N;}}}s:3:"tag";s:4:"home";s:3:"' . "\0" . '?' . "\0" . '";N;}}}

unserialize

It wraps \Opis\Closure\unserialize() function, makes it systemwide usable (see https://opis.io/closure).

Convert::unserialize(string $mValue)

Example

$mUnserialized = Convert::unserialize(
    'O:16:"Opis\\Closure\\Box":2:{i:0;i:3;i:1;a:2:{i:0;s:20:"MVC\\DataType\\DTRoute";i:1;a:11:{s:4:"path";s:1:"/";s:13:"requestMethod";s:3:"GET";s:15:"methodsAssigned";a:1:{i:0;s:3:"GET";}s:5:"query";s:28:"\\Foo\\Controller\\Index::index";s:6:"module";s:3:"Foo";s:5:"class";s:21:"\\Foo\\Controller\\Index";s:9:"classFile";s:46:"/var/www/html/modules/Foo/Controller/Index.php";s:6:"method";s:5:"index";s:10:"additional";O:16:"Opis\\Closure\\Box":2:{i:0;i:3;i:1;a:2:{i:0;s:32:"Foo\\DataType\\DTRoutingAdditional";i:1;a:6:{s:6:"sTitle";s:4:"Home";s:9:"sTemplate";s:26:"Frontend/content/index.tpl";s:8:"sContent";s:0:"";s:6:"aStyle";a:5:{i:0;s:57:"/Emvicy/assets/bootstrap-5.3.3-dist/css/bootstrap.min.css";i:1;s:57:"/Emvicy/assets/fontawesome-free-6.7.2-web/css/all.min.css";i:2;s:29:"/Emvicy/styles/Emvicy.min.css";i:3;s:30:"/Ws_old/assets/pnotify.min.css";i:4;s:42:"/Ws_old/assets/pnotify.brighttheme.min.css";}s:7:"aScript";a:9:{i:0;s:47:"/Emvicy/assets/jquery-3.7.1/jquery-3.7.1.min.js";i:1;s:55:"/Emvicy/assets/jquery-cookie-1.4.1/jquery.cookie.min.js";i:2;s:43:"/Emvicy/assets/popper-v2.11.8/popper.min.js";i:3;s:55:"/Emvicy/assets/bootstrap-5.3.3-dist/js/bootstrap.min.js";i:4;s:36:"/Emvicy/scripts/cookieConsent.min.js";i:5;s:29:"/Ws_old/assets/pnotify.min.js";i:6;s:37:"/Ws_old/assets/pnotify.desktop.min.js";i:7;s:30:"/Ws_old/scripts/pnotify.min.js";i:8;s:34:"/Ws/scripts/wss.domain.port.min.js";}s:3:"' . "\0" . '?' . "\0" . '";N;}}}s:3:"tag";s:4:"home";s:3:"' . "\0" . '?' . "\0" . '";N;}}}'
)

Content of $mUnserialized

// type: object
\MVC\DataType\DTRoute::__set_state(array(
      'path' => '/',
      'requestMethod' => 'GET',
      'methodsAssigned' =>    array (
        0 => 'GET',
    ),
      'query' => '\\Foo\\Controller\\Index::index',
      'module' => 'Foo',
      'class' => '\\Foo\\Controller\\Index',
      'classFile' => '/var/www/html/modules/Foo/Controller/Index.php',
      'method' => 'index',
      'additional' =>    \Foo\DataType\DTRoutingAdditional::__set_state(array(
          'sTitle' => 'Home',
          'sTemplate' => 'Frontend/content/index.tpl',
          'sContent' => '',
          'aStyle' =>        array (
            0 => '/Emvicy/assets/bootstrap-5.3.3-dist/css/bootstrap.min.css',
            1 => '/Emvicy/assets/fontawesome-free-6.7.2-web/css/all.min.css',
            2 => '/Emvicy/styles/Emvicy.min.css',
            3 => '/Ws_old/assets/pnotify.min.css',
            4 => '/Ws_old/assets/pnotify.brighttheme.min.css',
        ),
          'aScript' =>        array (
            0 => '/Emvicy/assets/jquery-3.7.1/jquery-3.7.1.min.js',
            1 => '/Emvicy/assets/jquery-cookie-1.4.1/jquery.cookie.min.js',
            2 => '/Emvicy/assets/popper-v2.11.8/popper.min.js',
            3 => '/Emvicy/assets/bootstrap-5.3.3-dist/js/bootstrap.min.js',
            4 => '/Emvicy/scripts/cookieConsent.min.js',
            5 => '/Ws_old/assets/pnotify.min.js',
            6 => '/Ws_old/assets/pnotify.desktop.min.js',
            7 => '/Ws_old/scripts/pnotify.min.js',
            8 => '/Ws/scripts/wss.domain.port.min.js',
        ),
    )),
      'tag' => 'home',
))