ニクニクドットミー

カッコいいおっさんを目指すエンジニアの厳かなブログ

EmacsにPHP Modeとphp-completionを入れる

仕事でpythonを使っていたのですが、部署移動に伴い開発言語がphpになりました。

そこで普段使っているEmacsphpの環境を整えたいと思います。

といっても大事なことはせず、まずはシンプルに行きたいと思います。

今回インストールするのはこれ。

PHP Mode php-completion

参考にさせて頂いたブログはこちら。ありがとうございます! PHP開発環境 on Emacs

まずはPHP Modeから。

M-x auto-install-from-url

http://php-mode.svn.sourceforge.net/svnroot/php-mode/tags/php-mode-1.5.0/php-mode.el

;; php-mode
(require 'php-mode)
 
(setq php-mode-force-pear t) ;PEAR規約のインデント設定にする
(add-to-list 'auto-mode-alist '("\\.php$" . php-mode)) ;*.phpのファイルのときにphp-modeを自動起動する

※ターミナルで起動したEmacsでインストールした後、上記のlispを書いたら"void-variable wget"とエラーとなった。 どうやらターミナルで起動した場合はauto-install-from-urlでwgetが使えず、インストール自体がうまくいっていない様。 GUI版を起動して試してみたらすんなり上手くいった。

wgetに関してはauto-installで使わないようにする設定もある様。こんな記事を見つけたので一応張っておきます。 WindowsでEmacsのauto-installとGnuWin版wgetを併用するときの問題(SYSTEM_WGETRC, syswgetrc)

php-modeを入れる前 Skitch iphoto export skitch

php-modeを入れた後 Skitch iphoto export skitch

次にphp-completion

M-x auto-install-batch

php-completionを選択。

;; php-mode-hook
(add-hook 'php-mode-hook
          (lambda ()
            (require 'php-completion)
            (php-completion-mode t)
            (define-key php-mode-map (kbd "C-o") 'phpcmp-complete) ;php-completionの補完実行キーバインドの設定
            (make-local-variable 'ac-sources)
            (setq ac-sources '(
                               ac-source-words-in-same-mode-buffers
                               ac-source-php-completion
                               ac-source-filename
                               ))))

php-completionについてはこちらの記事がとても参考になります。 EmacsにPHPの補完を実装するマイナーモード、php-completion.elをリリースしました。 どうもカヤックの方が作成されたようです。すごい。。。

ひとまずはphpの開発がやりやすくなったかな!