Хак: Выполнение PHP кода на статических страницах

Иногда бывает полезно выполнить на статической странице PHP код (различные сервисы, mini-tools, и т.д.). В WordPress для этого есть специальный плагин, а для полюбившегося LiveStreet сделал так:
1. Открываем /classes/actions/ActionPage.php
2. В EventShowPage() добавляем следующее:

/** 
 * "PHP Allowed" Hack Start
 * @author Alex Kachayev
 *  
 * Возможность использования PHP кода в статических страницах. 
 * Для выполнения PHP кода, необходимо заключить его между тегами 
 * [PHP] тут_прописываем_PHP_код [/PHP]
 */
$oPage->setText(preg_replace_callback(
    '/\[PHP\](.+)\[\/PHP\]/s', 
    create_function(
        '$mathces',
        'ob_start(); eval($mathces[1]); $content = ob_get_contents(); ob_end_clean(); return $content;'
    ), 
    $oPage->getText()
));
/**
 * "PHP Allowed" Hack End
 */

3. Теперь редактируя или создавая статическую страницу можем написать что-нибудь такое
[PHP]print 'Сейчас '. date('Y-m-d H:i:s');[/PHP]

На странице будет выведено
Сейчас 2009-08-03 13:34:46


Теперь, господа разработчики, можете проявить фантазию и «креативничать» :)

Конечно, такое решение не подойдет для сложных архитектурных задумок (в таких случаях надо делать все «правильно» — свой Action, Module, Event`ы и т.д.), но мелкие задачи бывает проще решать так.
  • +7
  • 03 августа 2009, 14:41
  • kachayev

Комментарии (1)

RSS свернуть / развернуть
+
+1
кстати да — для мелочевки идеальный вариант
avatar

derSpinner

  • 04 августа 2009, 08:02

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.