Кризис доллара и 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 строк кода, перед его интерпретацией.