3v4l.org

run code in 300+ PHP versions simultaneously
<?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);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/mA55J
function name:  (null)
number of ops:  10
compiled vars:  !0 = $code, !1 = $matches
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '+require_once+%27config.php%27%3B%0A++++require_once+%27startup.php%27%3B%0A%0A++++%2F%2FTODO%3A+%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C+%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%BA%D1%83+%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D0%BE%D0%B2+POST+%D0%B8+GET%0A++++%24input+%3D+new+Input%3B%0A++++%24session+%3D+new+Session%3B%0A++++%24cookie+%3D+new+Cookie%3B%0A+++%23+hashcomment%0A%0A++++%24user+%3D+User%3A%3AgetInstance%28%29%3B%0A%0A++++%2F%2Ftest+-+admin+is+permanently+logged+in%0A++++%24session-%3Eset%28%27hash%27%2C+%2706260034fa0ac9fef81991f93abf2db3%27%29%3B%0A++++%2F%2Ftest%0A%0A++++%24hash+%3D+%24session-%3Eget%28%27hash%27%29+%3F+%24session-%3Eget%28%27hash%27%29+%3A+%24cookie-%3Eget%28%27hash%27%29%3B%0A%0A++++%24user-%3EfetchOneByHash%28%24hash%29%3B%0A%0A%0A++++%2F%2F%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0%D0%B5%D0%BC+action%2C+%D0%B2+%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8+%D0%BE%D1%82+%D1%82%D0%BE%D0%B3%D0%BE%2C+%D1%87%D1%82%D0%BE+%D0%BF%D1%80%D0%B8%D1%88%D0%BB%D0%BE+%D0%B2+POST%0A%0A++++++++%2F%2A%2A%0A++++++++%2A+%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D1%8B%D0%B2%D0%B0%D0%B5%D0%BC+%D0%B2+%D1%82%D0%B5%D0%BA%D1%83%D1%89%D1%83%D1%8E+%D0%B8%D1%81%D1%82%D0%BE%D1%80%D0%B8%D1%8E+%D1%82%D0%BE%2C+%D1%87%D1%82%D0%BE+%D0%BF%D1%80%D0%B8%D1%88%D0%BB%D0%BE+%D0%B8%D0%B7+POST%5B%27text%27%5D+%0A++++++++%2A+%28%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C+%D0%BC%D0%BE%D0%B3+%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C+%D0%BF%D1%80%D0%B5%D0%B4%D1%8B%D0%B4%D1%83%D1%89%D0%B8%D0%B9+%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82+%D0%B2+%D0%BF%D0%BE%D0%BB%D0%B5+%D0%B2%D0%B2%D0%BE%D0%B4%D0%B0+%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0+%D0%B2%D1%80%D1%83%D1%87%D0%BD%D1%83%D1%8E%29%0A++++++++%2A+%D0%95%D1%81%D0%BB%D0%B8+%D0%B6%D0%B5+%D0%B8%D1%81%D1%82%D0%BE%D1%80%D0%B8%D1%8F+%D0%BF%D1%83%D1%81%D1%82%D0%B0%2C+%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%BE%D0%B9%D0%B4%D0%B5%D1%82+%D0%B8%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F+%D1%81%D0%B5%D1%81%D1%81%D0%B8%D0%B8+%D1%81+%D0%B8%D1%81%D1%82%D0%BE%D1%80%D0%B8%D0%B5%D0%B9+-+%0A++++++++%2A+%D0%B2+%D1%81%D0%B5%D1%81%D1%81%D0%B8%D1%8E+%D0%B2+%24_SESSION%5Bcategory%5D%5B0%5D%5Btext%5D+%D0%B7%D0%B0%D0%BF%D0%B8%D1%88%D0%B5%D1%82%D1%81%D1%8F+POST%5B%27text%27%5D%0A++++++++%2A%2F%0A++++++++%24history+%3D+History%3A%3AgetInstance%28History%3A%3ACURRENT_RECORD%29%3B%0A++++++++%24history-%3Eset%28%27text%27%2C+%24input-%3Epost%28%27text%27%29%29%3B%0A++++++++%24history-%3EdestroyInstance%28%29%3B%0A%0A++++%24action+%3D+new+Action%28%24route%29%3B%0A++++%24action-%3Eexecute%28%29%3B'
   40     1        INIT_FCALL                                               'preg_match_all'
          2        SEND_VAL                                                 '%7E%28%3F%28DEFINE%29%0A++++%28%3F%3Ccomment%3E++++++++++%28%3F%26line_comment%29+%7C+%28%3F%26block_comment%29%29%0A++++%28%3F%3Cline_comment%3E++++%28%3F%26slash_comment%29+%7C+%28%3F%26hash_comment%29%29%0A++++%28%3F%3Cslash_comment%3E+++%2F%2F.%2A%29%0A++++%28%3F%3Chash_comment%3E++++%23.%2A%29%0A++++%28%3F%3Cblock_comment%3E+++%28%3Fs%29%2F%5C%2A.%2A%3F%5C%2A%2F%29%0A%29%0A%28%3F%26comment%29%7Ex'
   47     3        SEND_VAR                                                 !0
          4        SEND_REF                                                 !1
          5        DO_ICALL                                                 
   49     6        INIT_FCALL                                               'print_r'
          7        SEND_VAR                                                 !1
          8        DO_ICALL                                                 
          9      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
161.09 ms | 1392 KiB | 17 Q