Example #1
0
});
def('module', function ($nm, $block) {
    $prefix = Memo::$prefix;
    Memo::$prefix = $nm . '::';
    $block();
    Memo::$prefix = $prefix;
});
def('ns', function ($nm, $block) {
    $prefix = Memo::$prefix;
    Memo::$prefix = $nm . "\\";
    $block();
    Memo::$prefix = $prefix;
});
def_memo('bu\\def\\memcached', function () {
    $r = new Memcached();
    $r->addServer('localhost', 11211);
    return $r;
});
def('def_md', function ($nm, $timeout, $fn, $key_fn = null) {
    def($nm, function () use($nm, $timeout, $fn, $key_fn) {
        $args = func_get_args();
        if (!is_null($key_fn)) {
            $key = $key_fn($nm, $args);
        } else {
            $key = '-bu-defun-' . md5($nm . '-' . serialize($args));
        }
        $m = bu\def\memcached();
        $data = $m->get($key);
        if ($m->getResultCode() == Memcached::RES_SUCCESS) {
            return $data;
        }
Example #2
0
File: load.php Project: bubujka/s4
<?php

def_accessor('s4_bucket');
def_accessor('s4_region', 'eu-west-1');
def_memo('s4', function () {
    return Aws\S3\S3Client::factory(array('region' => s4_region()));
});
def('s4_delete', function ($key) {
    return s4()->deleteObject(array('Bucket' => s4_bucket(), 'Key' => $key));
});
def('s4_url', function ($key) {
    return s4()->getObjectUrl(s4_bucket(), $key);
});
def('s4_put', function ($key, $body, $ct = null) {
    $t = array('Bucket' => s4_bucket(), 'Key' => $key, 'Body' => $body);
    if (!is_null($ct)) {
        $t['ContentType'] = $ct;
    }
    return s4()->putObject($t);
});
def('s4_get', function ($key) {
    $t = array('Bucket' => s4_bucket(), 'Key' => $key);
    $t = s4()->getObject($t);
    return $t['Body'];
});
def('s4_put_file', function ($key, $pth, $ct = null) {
    $t = array('Bucket' => s4_bucket(), 'Key' => $key, 'SourceFile' => $pth);
    if (!is_null($ct)) {
        $t['ContentType'] = $ct;
    }
    return s4()->putObject($t);
Example #3
0
    $call();
});
say('one', 'two');
// ME>>: _ONE_, _TWO_
undef_wrapper('say');
say('one', 'two');
// ME>>: ONE, TWO
undef_wrapper('say');
say('one', 'two');
// ME>>: one, two
undef_wrapper('say');
say('one', 'two');
//ME: one, two
//////////////////////////////////////////////////
def_memo('sum', function ($one, $two) {
    echo "Summing: {$one} - {$two} \n";
    return $one + $two;
});
puts('Result: ' . sum(1, 2));
puts('Result: ' . sum(1, 2));
puts('Result: ' . sum(2, 2));
// Summing: 1 - 2
// Result: 3
// Result: 3
// Summing: 2 - 2
// Result: 4
///////////////////////////////////
def_converter('id', 'object', function ($i) {
    return (object) $i;
});
print_R(id_to_object(13));
/*
Example #4
0
<?php

// def_memo создаёт функцию, которая хранит все результаты вычислений.
// http://en.wikipedia.org/wiki/Memoization
def_memo('sum', function ($a, $b) {
    echo '.';
    return $a + $b;
});
echo sum(1, 2) . "\n";
echo sum(1, 3) . "\n";
echo sum(1, 2) . "\n";
echo sum(2, 1);
?>
---
.3
.4
3
.3
Example #5
0
<?php

require "vendor/autoload.php";
def_accessor('cltr\\pdo_host');
def_accessor('cltr\\pdo_dbname');
def_accessor('cltr\\pdo_user');
def_accessor('cltr\\pdo_password');
def_accessor('cltr\\pdo_table');
def_memo('cltr\\pdo', function () {
    $db = new PDO('mysql:host=' . cltr\pdo_host() . ';dbname=' . cltr\pdo_dbname(), cltr\pdo_user(), cltr\pdo_password());
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
    $db->query('set names utf8');
    return $db;
});
def_accessor('cltr\\time_start');
def('cltr\\start', function () {
    cltr\time_start(microtime(true));
});
def('cltr\\uri', function () {
    if (isset($_SERVER['REQUEST_URI'])) {
        return $_SERVER['REQUEST_URI'];
    }
});
def('cltr\\host', function () {
    if (isset($_SERVER['HTTP_HOST'])) {
        return $_SERVER['HTTP_HOST'];
    }
});
def('cltr\\time', function () {
    return microtime(true) - cltr\time_start();
});