Koshigoe Hiki  Index  Search  Changes  RSS  Login

[PHP]Emacsでphp-eval

概要

Emacs上で、リージョン内のPHPコードをeval実行します。
結果はミニバッファに出力されます。

ソース

.emacs.el

;;; ;;; リージョン内のスクリプトを PHP eval
(defun php-eval-region nil "PHP eval"
  (interactive)
  (shell-command-on-region (region-beginning) (region-end) "php ~/.emacs.d/php-eval-region/eval.php"))
(global-set-key "\C-c\C-e" 'php-eval-region)
  • リージョンの範囲指定が、"(point-min) (point-max)"で出来てたのは気のせいでしょうか?
    • ひとまず、Emacs22環境で"(region-beginning) (region-end)"として動く事を確認しています。

~/.emacs.d/php-eval-region/eval.php

<?php
echo   "---------- *PHP-eval* ----------\n";

// read STDIN from pipe
$region = "";
while(!feof(STDIN)) {
    $region .= fgets(STDIN);
}
// validate region string
if (!validate($region)) {
    exit(1);
}
// eval region string
eval($region);

echo "\n--------------------------------\n";


/**
 * validate region string
 * 
 * @param String $region Emacs's region string
 * @return Boolean TURE: valid / FALSE: invalid
 *
 */
function validate($region) {
    // check string length
    if (strlen($region) == 0) {
        return false;
    } else {
        return true;
    }
}

?>
Last modified:2006/07/31 21:09:12
Keyword(s):[PHP] [開発補助]
References:[[PHP]Emacs環境] [PHP]