Skip to content
This repository has been archived by the owner on Jan 5, 2019. It is now read-only.

Dgame/php-constant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

php-constant

Scrutinizer Code Quality

Dynamic constants at runtime with rust-like lifetime for PHP 7

##example

<?php
use function Dgame\Constant\get;
use function Dgame\Constant\let;

print '<pre>';

function foo()
{
    let('created')->be(time());
    print __METHOD__ . ' -- created: ' . get('created') . PHP_EOL;
//    let('created')->be(time());
}

foo();
foo();

let('created')->be(time());
print 'Global -- created: ' . get('created') . PHP_EOL;

function bar()
{
    let('result')->be(5 * 5);
    print __METHOD__ . ' -- result ' . get('result') . PHP_EOL;
}

bar();

//print 'Global -- created: ' . get('result') . PHP_EOL;

function quatz()
{
    let('result')->be(6 * 6);
    print __METHOD__ . ' -- result: ' . get('result') . PHP_EOL;

    foo();
    bar();

    print __METHOD__ . ' -- result: ' . get('result') . PHP_EOL;
}

quatz();

let('foo')->be('bar');

print 'Global -- foo: ' . get('foo') . PHP_EOL;

function test()
{
    let('zip_filename')->be('foo.zip');

    print __METHOD__ . ' -- zip_filename: ' . get('zip_filename') . PHP_EOL;

    for ($i = 0; $i < 1; $i++) {
        let('img_filename')->be('bar.png');

        print __METHOD__ . ' -- img_filename: ' . get('img_filename') . PHP_EOL;
    }

    print __METHOD__ . ' -- img_filename: ' . get('img_filename') . PHP_EOL;
    print __METHOD__ . ' -- zip_filename: ' . get('zip_filename') . PHP_EOL;
}

test();

let('fac')->be(function(int $in) {
    $out = 1;

    // Only if $in is >= 2
    for ($i = 2; $i <= $in; $i++) {
        $out *= $i;
    }

    return $out;
});

print 'Global -- fac: ' . get('fac')(6) . PHP_EOL;

About

Dynamic PHP-constants at runtime with rust-like lifetime

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages