[PHP-users 9197] Re: PHP のフリーな開発環境について

Yasuo Ohgaki php-users@php.gr.jp
Tue, 06 Aug 2002 21:13:36 +0900


大垣です。

> Tatsuo Ishii wrote:
>>$v->foo();
>>
>>のどこにカーソルを置いても "$v->foo" が関数名だと思っちゃうみたいなの
>>でちょっととまどいましたが,C++モードにするなどすれば回避できました(当
>>たり前).
>>
>>ちなみに,RedHat用のctags-5.3 SRPMをVine Linux 2.5上でbuildして使って
>>ます.

私はソースからビルドした物を使っています。

phpモードのelispはここから拾ってきて使っています。
http://www.ontosys.com/src/php-mode.el

今見た所、シンタックスハイライトの遅さが不評だったらしく
現在のバージョンはキーワードのみハイライトする仕様に変更
されたようです。

私は、モジュール関数全てハイライトさせる状態で使っていま
す。多少遅いですが、関数にタイプミスが無いか、使っていな
くてもモジュール関数として定義されているかなどがすぐに確
認できて便利です。

この他にも、他のPHPモードから拾ってきたマニュアル参照コ
マンドも使っています。

モジュール関数上で
C-c C-f [CTRL+c then CTRL+f]
や
C-c C-m
とすると利用できます。

;; php manual browsing
(defcustom php-manual-url "http://us2.php.net/manual/en/manual.php"
  "*URL at which to find PHP manual. You can replace \"en\" with your
ISO language code."
  :type 'string
  :group 'php)

(defcustom php-search-url "http://us2.php.net/"
  "*URL at which to search for documentation on a word"
  :type 'string
  :group 'php)

(define-key php-mode-map [menu-bar] (make-sparse-keymap))
(define-key php-mode-map [menu-bar php]
  (cons "PHP" (make-sparse-keymap "PHP")))

;; Define specific subcommands in this menu.
(define-key php-mode-map
  [menu-bar php browse-manual]
  '("Browse manual" . php-browse-manual))

(define-key php-mode-map
  [menu-bar php search-documentation]
  '("Search documentation" . php-search-documentation))

;; Define function documentation function
(defun php-search-documentation ()
  "Search PHP documentation for the word at the point."
  (interactive)
  (browse-url (concat php-search-url (current-word t)))
  )

;; Define function for browsing manual
(defun php-browse-manual ()
  "Bring up manual for PHP."
  (interactive)
  (browse-url php-manual-url)
  )

;; Define shortcut
(define-key php-mode-map
  "\C-c\C-f"
  'php-search-documentation)

;; Define shortcut
(define-key php-mode-map
  "\C-c\C-m"
  'php-browse-manual)


vimのカスタマイズ性もEmacs並らしいのでvim/emacs以外の
ユーザー向けですが、Emacsを使うと文字列の閉じ忘れもすぐ
に分かる、括弧の不正合もすぐ分かる、補完もできる、ちょっと
compileコマンドを変えるだけでライブラリのデバッグ時に
エラーを起こしたファイル&行に自動的に移動する、などいろ
いろ便利に使えます。

根気がいる?!かもしれませんが、多くのユーザーに利用さ
れているにはそれなりの理由があるので、使っていない方は
いちどじっくり試してみてはいかがでしょうか?

--
Yasuo Ohgaki