Кризис доллара и php на русском

5 апреля 2011 г.

Всем известно что позиции доллара как мировой валюты, с каждым днем, падает. Вот и наступило время интерпретатору 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 строк кода, перед его интерпретацией.

Теги: рубрика Программирование
  • Похожие статьи
  • Предыдущие из рубрики