Кризис доллара и php на русском
Всем известно что позиции доллара как мировой валюты, с каждым днем, падает. Вот и наступило время интерпретатору php переходить на другие валюты мира. Но пока разработчики php добавляют поддержку других валют, мы сами создадим поддержу столь необходимой функции.
Для начало расширим интерпретатор с помощью очень серьезной функции php_fun и поместим в файл php_fun.php:
<?php
function php_fun($code)
{
$money = array
(
'¥', //юань
'₱', //российский рубль
'€', //евро
);
$code = str_replace($money, '$', $code);
eval($code);
}
?>
Для работы расширенного интерпретатора в начало php скрипта добавим вместо:
<?php
следующий код:
<?php include_once 'php_fun.php'; php_fun('
А в конце файла:
?>
заменим на:
');?>
Учитывая рост экономики и могущества Китая, напишем пример, используя юань вместо доллара:
<?php include_once 'php_fun.php'; php_fun('
¥text = "Привет!";
echo ¥text;
');?>
Но все же рубль и русский язык роднее, по этому надо расширять интерпретатор, и первым делом заменить буржуазные название исконно русскими терминами. Так как оригинальный интерпретатор поддерживает возможность писать переменные кириллицей, то нужно всего-навсего добавить поддержку функций на русском:
<?php
function replace_text_function($matches)
{
return 'base64_decode("'.base64_encode($matches[1]).'")';
}
function php_fun($code)
{
$money = array
(
'¥', //юань
'₱', //российский рубль
'€', //евро
);
//список слов для замены
$reserved_words = array
(
'эхо' => 'echo',
'функция' => 'function',
'если' => 'if',
'иначе' => 'else',
'вернуть' => 'return',
'напечатать' => 'print',
);
$code = str_replace($money, '$', $code);
$left_words = array();
$right_words = array();
foreach ($reserved_words as $left_word => $right_word)
{
$left_words[] = $left_word;
$right_words[] = $right_word;
}
$code = preg_replace_callback('/"([^"]+)"/', 'replace_text_function', $code);
$code = str_replace($left_words, $right_words, $code);
eval($code);
}
?>
И вот настало время привести пример который вычисляет факториал:
<?php include_once 'php_fun.php'; php_fun('
₱текст = «Привет!»;
эхо ₱текст;
функция факториал(₱н)
{
если (₱н == 0)
{
вернуть 1;
}
иначе
{
вернуть ₱н * факториал(₱н — 1);
}
}
напечатать(факториал(10));
');?>
Для интернационализма, победы коммунизма и лучшей работы скрипта нужно использовать кодировку utf-8. Весь код распространяется по лицензии «добавь ещё», которая обязывает добавлении как минимум 2 строк кода, перед его интерпретацией.