- print_r: documentation ( source)
- preg_match_all: documentation ( source)
<?php
$code = <<<CODE
require_once 'config.php';
require_once 'startup.php';
//TODO: Добавить очистку массивов POST и GET
$input = new Input;
$session = new Session;
$cookie = new Cookie;
$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);