Exemplo n.º 1
0
<?php

def_md('test_md', 5, function ($a) {
    echo '.';
    return $a . "\n";
});
echo test_md(1, str_repeat("a", 300));
echo test_md(1, str_repeat("a", 500));
?>
---
.1
.1
Exemplo n.º 2
0
<?php

$nm = str_repeat("a", 500);
def_md($nm, 5, function ($a) {
    echo '.';
    return "{$a}\n";
});
echo call_user_func_array($nm, array(1));
echo call_user_func_array($nm, array(1));
echo call_user_func_array($nm, array(2));
?>
---
.1
1
.2
<?php

def_md('foo\\bar', 5, function () {
    echo '.';
    return "1\n";
});
def_md('foo::bar', 5, function () {
    echo '.';
    return "2\n";
});
echo foo\bar();
echo foo\bar();
echo foo::bar();
echo foo::bar();
?>
---
.1
1
.2
2
Exemplo n.º 4
0
<?php

// Четвёртым аргументом для def_md можно передат функцию, которая будет
// создавать ключ для кэширования результатов
def_md('sum', 5, function ($a, $b) {
    echo ".";
    return $a + $b;
}, function ($fname, $args) {
    return "{$fname}:" . implode('-', $args);
});
echo sum(1, 2) . "\n";
echo sum(1, 2) . "\n";
echo bu\def\memcached()->get('sum:1-2') . "\n";
flush_md();
echo bu\def\memcached()->get('sum:1-2') . "\n";
echo sum(1, 2) . "\n";
echo sum(1, 2) . "\n";
?>
---
.3
3
3

.3
3
Exemplo n.º 5
0
<?php

def_md('sum', 5, function ($a, $b) {
    echo '.';
    return $a + $b;
});
echo sum(1, 2) . "\n";
echo sum(1, 2) . "\n";
flush_md();
echo sum(1, 2) . "\n";
echo sum(1, 2) . "\n";
?>
---
.3
3
.3
3