<?php
$code = <<<CODE
require_once 'config.php';
require_once 'startup.php';
//TODO: Добавить очистку массивов POST и GET
\$input = new Input;
\$session = new Session;
\$cookie = new Cookie;
# hashcomment
\$user = User::getInstance();
//test - admin is permanently logged in
\$session->set('hash', '06260034fa0ac9fef81991f93abf2db3');
//test
\$hash = \$session->get('hash') ? \$session->get('hash') : \$cookie->get('hash');
\$user->fetchOneByHash(\$hash);
//Запускаем action, в зависимости от того, что пришло в POST
/**
* Записываем в текущую историю то, что пришло из POST['text']
* (пользователь мог изменить предыдущий результат в поле ввода текста вручную)
* Если же история пуста, произойдет инициализация сессии с историей -
* в сессию в \$_SESSION[category][0][text] запишется POST['text']
*/
\$history = History::getInstance(History::CURRENT_RECORD);
\$history->set('text', \$input->post('text'));
\$history->destroyInstance();
\$action = new Action(\$route);
\$action->execute();
CODE;
preg_match_all('~(?(DEFINE)
(?<comment> (?&line_comment) | (?&block_comment))
(?<line_comment> (?&slash_comment) | (?&hash_comment))
(?<slash_comment> //.*)
(?<hash_comment> \#.*)
(?<block_comment> (?s)/\*.*?\*/)
)
(?&comment)~x', $code, $matches);
print_r($matches);