PhpStormを利用する前は、FileZillaなどを利用して修正したファイルをWebサーバへ転送していた。大規模に修正したときは、あちこちにファイルがありFileZillaを操作してディレクトリを移動するだけでも疲労した。最近は1つの機能が複数のファイルに散らばっているためファイル更新の時がもっとも集中力が必要だ。

PhpStormはこの点でも非常にすぐれていた。

かなり昔、DreamWeaverにも同じ機能があったがうまく動作しないことがあり怖くて使えなかった。PhpStormも何があるかわからないので、先に自分のサイトで同期をしてみた。同期する必要の無いファイルを除外することで同期の時間を減らせるので丁寧に除外していく。除外の方法は2つありProjectの対象ディレクトリから除外(Exclude)する方法と更新時に除外する方法があり、更新時の除外はサーバ上のファイルやディレクトリも指定できる。ファイルが多いとここで時間がかかる。しかし、丁寧に設定して大切なファイルは更新しないようにすると後で安心して作業ができる。

ここまでできたらSync with Deployed toという機能を使ってサーバと手元のファイルを比較する。ファイルが多いと少し時間がかかる。比較が終わるとファイルが一覧で表示される。最初の同期ではサーバと手元のファイルが完全に同じになるようにファイルの中身を確認しながら更新・削除などの操作をする。場合によってはさらにディレクトリを除外する。一覧ではサーバと手もとのファイルの相違点を画面の下部ですぐに確認できる。お客様がファイルを変更したときでもこれですぐにわかるし、必要な部分だけ更新できるので、この部分でも肩の荷が降りた感じだ。これで、ファイルを修正したらワンクリックでアップロードできるし、さらに設定することで自動更新もできる。

osCommerceをディレクトリを変えてインストールして開発環境として利用することがある。何もツールを利用せずFileZillaだけで対応していたときは、うっかり開発環境と本番環境を間違うことが多いので、何度も何度も確認しながらファイルを更新していた。更新時間が決まっているときはさらに神経をすり減らすことになる。
PhpStormではひとつのプロジェクトに対して接続先をいくつでも選択できるので、あらかじめディレクトリの違う接続先をコピーして作っておくことで複数のディレクトリと同期できる。開発環境でファイルを修正したら、「Upload to」でワンクリックでファイルをアップロードして、お客様から確認をもらい、本番環境を同期して必要な部分だけ更新する。いままでは面倒だなと感じていたこれらの作業があっというまにできるようになった。
さらに心理的な面でメリットがあった。本来のプログラミングとは関係のない時間のかかる作業が簡単になることで、プログラミングに注力でき作業が以前よりも楽しくなってきた。この文章も同期している間に書くことができた。