ツイート
シェア
LINEで送る
B! はてぶでブックマーク
Pocketでブックマーク
RSSフィード

Atom, PHP開発におすすめのパッケージ。LinterとIDE(統合開発環境)

atom for php image
イラストダウンロードサイト【イラストAC】
の画像をもとに加工しています。

テキストエディタの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のインストールに失敗することがあります。

install error
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",

を追加して開発プラグインをむりやり安定版にします。

compsoer.jsonの例
{
    "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)

https://www.php-fig.org/psr/

PHP標準勧告。PHPコーディングの標準化を目指す活動のこと。PHP-FIGが策定している。

PHP-FIG (PHP Framework Interop Group)

http://www.php-fig.org/

PHPフレームワーク相互運用グループ。PHPプロジェクトが集まって意見を出し合い、お互いの製品の互換性を調整する団体。

有名なプロジェクトが多く参加している。

このパッケージは、PHPの実行環境にphpcsのインストールが必要です。インストールにはcomposerを使います。

phpcsのインストール
composer [global] require "squizlabs/php_codesniffer=*"

"=*"は最新バージョンの意味

PHPのコーディングは自由度が高いため、保守性の低いプログラムになりやすいです。

これでは効率的とはいえません。このようなコーディング規約に関連するものは必ず使ったほうが良いです。

デバッガ

デバッグ(debug)

プログラムを少しずつ実行して動作を確認すること。そのツールのことをデバッガ(debugger)という。

デバッガは

  • 1行ずつ実行する
  • ステップ(特定の箇所)ごとに実行する

ことができ、プログラムの一時停止・再開をくり返して、変数や定数などの値の状態を確認できる。

などがある。

php-debug

https://atom.io/packages/php-debug

PHPのデバッガにはXdebugというものがあります。

https://xdebug.org

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パッケージの初期設定をいじらずに使えるので楽です。

前の投稿
AtomでHTML, CSS, JavaScript開発。おすすめのパッケージ。
Atom, WprdPress開発におすすめのパッケージ。Linterのみ。
次の投稿

最近Webカテゴリでよく読まれている記事です。

domain image

ドメイン取得の意味が分からない人へ。王道の方法を紹介します。

ドメインの登録業者を選ぶのに悩む必要はないです。サイトを簡単に早く公開するには全くいらないことで、むしろ邪魔です。『お名前.com』というサービスは必ず耳にします。そのお名前.comのメリットとデメリットと一緒に、ドメインの意味が分からない人が一番失敗しないドメインの取得方法を紹介します。

tadtadya.com
コメントを残す

*