<?php

// Проверяем что функцию можно переопределить, после того как она была
// объявлена в блоке deflet
deflet(function () {
    def('hello', function () {
    });
});
def('hello', function () {
    echo "worked";
});
hello();
?>
---
worked
Example #2
0
<?php

// С помощью deflet можно выполнить участок кода, так что
// определённые/переопределённые функции не будут видны за его пределами
def_printfer("say", "one\n");
say();
deflet(function () {
    def_printfer("say", "two\n");
    say();
});
say();
?>
---
one
two
one
Example #3
0
// Me: one
def('say_two', function () {
    puts("Me: two");
});
say_two();
// Me: two
def_alias('say_one', 'say_two');
say_two();
// Me: one
////////////////////////////////////////
def_printfer('test_let', "calling outside let \n");
test_let();
// calling outside let
deflet(function () {
    def_printfer('test_let', "calling inside let \n");
    test_let();
    // calling inside let
});
test_let();
// calling outside let
////////////////////////////////////////
# using namespace
def('foo\\bar\\hello', function () {
    echo "Hello, World!\n";
});
foo\bar\hello();
// Hello, World!
////////////////////////////////////////
# Testing def_return
def_return('user_name', 'waserd');
puts(user_name());