Example #1
0
<?php

// def_converter служит для создания преобразующих функций. Она создаёт 2
// функции: к примеру down_to_up - для преобразования 1 аргумента, и
// downs_to_ups для преобразования массива аргументов.
def_converter('down', 'up', function ($s) {
    return strtoupper($s);
});
echo down_to_up('hello') . "\n";
foreach (downs_to_ups(array('wor', 'ld')) as $v) {
    echo $v . "\n";
}
?>
---
HELLO
WOR
LD

Example #2
0
//////////////////////////////////////////////////
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));
/*
  stdClass Object
  (
  [scalar] => 13
  )
*/
print_R(ids_to_objects(array(2, 3)));
/*
  Array
  (
  [0] => stdClass Object
  (
  [scalar] => 2