テキストエディタのAtomでPHP開発環境におすすめのパッケージをご紹介します。
大きく分けて『IDEを使う』『linterを使う』の2つがあります。それ以外にもあるんでしょうが、この2つから選ぶほうが無難。
同時有効化は不可能なので使い分けが必要。(同時インストールは可。)
AtomエディタのPHP開発でおすすめのパッケージ
Web開発で使うPHP開発環境のパッケージです。atomのプログラム開発では大きく分けて2つあります。
- IDE(統合開発環境)を使う
- linterとそのほかのパッケージを使う
どちらを使うにしても、プログラム言語に関係なく最低限必要なパッケージがあります。まずはそちらをインストールします。
IDE(統合開発環境)を使う
最初に、『全ジャンルで使えるおすすめパッケージのご紹介』で書いた、IDEで使うパッケージをインストールします。
くり返しになりますが、atom-ide-uiが必要です。そしてPHPで必要なIDEのパッケージは1つです。
ide-php
https://github.com/atom/ide-php
ide-phpはatom-ide-uiのPHPパックです。PHPの言語パックはatom公式で配布されています。
ide-phpはPHP Language Serverが必要です。composerを使ってPHP環境にインストールします。
composer global require felixfbecker/language-server --dev
- プロジェクトにインストールすると何度もインストールすることになるので、globalをつけてPHP本体にインストールしました。
- 開発環境だけで使うので--devをつけました。
PHP Language Serverのインストールに失敗することがあります。
composer global require felixfbecker/language-server --dev
Your requirements could not be resolved to an installable set of packages.
Problem 1
- felixfbecker/language-server v5.4.6 requires jetbrains/phpstorm-stubs dev-master -> satisfiable by jetbrains/phpstorm-stubs[dev-master] but these conflict with your requirements or minimum-stability.
- felixfbecker/language-server v5.4.5 requires jetbrains/phpstorm-stubs dev-master -> satisfiable by jetbrains/phpstorm-stubs[dev-master] but these conflict with your requirements or minimum-stability.
- felixfbecker/language-server v5.4.4 requires jetbrains/phpstorm-stubs dev-master -> satisfiable by jetbrains/phpstorm-stubs[dev-master] but these conflict with your requirements or minimum-stability.
- felixfbecker/language-server v5.4.3 requires jetbrains/phpstorm-stubs dev-master -> satisfiable by jetbrains/phpstorm-stubs[dev-master] but these conflict with your requirements or minimum-stability.
- felixfbecker/language-server v5.4.2 requires jetbrains/phpstorm-stubs dev-master -> satisfiable by jetbrains/phpstorm-stubs[dev-master] but these conflict with your requirements or minimum-stability.
- felixfbecker/language-server v5.4.1 requires jetbrains/phpstorm-stubs dev-master -> satisfiable by jetbrains/phpstorm-stubs[dev-master] but these conflict with your requirements or minimum-stability.
- felixfbecker/language-server v5.4.0 requires jetbrains/phpstorm-stubs dev-master -> satisfiable by jetbrains/phpstorm-stubs[dev-master] but these conflict with your requirements or minimum-stability.
- Installation request for felixfbecker/language-server ^5.4 -> satisfiable by felixfbecker/language-server[v5.4.0, v5.4.1, v5.4.2, v5.4.3, v5.4.4, v5.4.5, v5.4.6].
Installation failed, reverting ./composer.json to its original content.
これは、composerがデフォルトで開発プラグインのインストールを拒否するため。
composer.jsonファイルに
"minimum-stability": "dev",
を追加して開発プラグインをむりやり安定版にします。
{
"minimum-stability": "dev",
"require-dev": {
},
"require": {
}
}
https://github.com/felixfbecker/php-language-server/issues/686
ide-phpは、アウトラインが正常に表示されないときがあります。そのときは、symbols-tree-viewを代わりに使います。
IDEのPHPパッケージは以上です。
次はlinterを使ったPHPパッケージです。linterを使うときは個別にパッケージが必要なのでインストールするパッケージ数がIDEより多くなります。
すべてIDEと機能が被っています。IDEを使う人は不要です。
linterを中心に使う
まずは、『全ジャンルで使えるおすすめパッケージのご紹介』に書いた、IDEじゃないほうで使うパッケージをインストールします。
linterが中心になります。 それにくわえて、ここではPHPで必要なパッケージをご紹介します。
linter-php
https://atom.io/packages/linter-php
linterのphp用拡張パッケージです。静的コードチェックを行います。php開発でlinterを使うときは必ずインストールします。
linter-phpcs
https://atom.io/packages/linter-phpcs
PHPのコーディング規約チェックのツールとして一般的なphpcs(Php Code Sniffer)があります。
そのlinter拡張パッケージです。PSR-2までのコーディング規約チェックを行います。
PSR (PHP Standards Recommendations)
PHP標準勧告。PHPコーディングの標準化を目指す活動のこと。PHP-FIGが策定している。
PHP-FIG (PHP Framework Interop Group)
PHPフレームワーク相互運用グループ。PHPプロジェクトが集まって意見を出し合い、お互いの製品の互換性を調整する団体。
有名なプロジェクトが多く参加している。
このパッケージは、PHPの実行環境にphpcsのインストールが必要です。インストールにはcomposerを使います。
composer [global] require "squizlabs/php_codesniffer=*"
"=*"は最新バージョンの意味
PHPのコーディングは自由度が高いため、保守性の低いプログラムになりやすいです。
これでは効率的とはいえません。このようなコーディング規約に関連するものは必ず使ったほうが良いです。
デバッガ
php-debug
https://atom.io/packages/php-debug
PHPのデバッガにはXdebugというものがあります。
atomには、xdebugを使ったデバッガのパッケージがあります。IDE、そのほかのパッケージをのどちらを選んでも使えます。
いまのところIDEにはPHPのデバッガは用意されていません。php-debugを使いましょう。
もちろんphp-debugは、PHP環境にXdebugのインストールが必要です。
インストールと設定はちょっと面倒なのでまたの機会に。
ぼくはxdebugを使ってません。この面倒が原因で。
まとめ
PHPを使う人は、HTML, CSS, JavaScriptも合わせて必要でしょう。
AtomエディタのHTML, CSS, JavaScriptの環境は、ある程度のレベルのものが標準で入っています。
PHP環境が整えばWeb開発をスムーズに行うことができます。
ただしIDEを使う場合は、IDEのHTML, CSS, javaScriptの環境を作ることが必要です。
今回はあくまで最低限必要なパッケージだけを紹介させていただきました。
Atomはパッケージをインストールしすぎると動作が重くなり使い勝手が悪くなります。また、便利なパッケージがたくさんあります。インストールのし過ぎには気をつけましょう。
もうひとつ、Atomは同じような機能のパッケージがいくつもあります。これらのパッケージはひとつを選んでインストールするようにしましょう。
設定でphpコマンドのPATHを通したほうがatomパッケージの初期設定をいじらずに使えるので楽です。