近年、WordPressによる開発は大きな進展を遂げています。特に、ツールに関しては。以前は、WordPressでサイトを構築しようものなら、ほぼ確実にMAMP/WAMPのローカルホスティングの設定をしなければならず、それはもう悩みの種でしたよね。ひょっとしたら、本番の状態でサイトの開発を進めなければならなかったりしました。 そう、私もその一人でした。
幸い、時代は変わり、いまではそんな頭痛の種や反復作業を取り除くツールが出てきました。
WordPress開発業者としてフルタイムで開発をしていた私は、WordPressから離れて丸3年後の2015年12月、再びフルタイムのWordPress開発者に戻りました。
業界から3年離れていたことにより、コンピューター業界の移り変わりの早さについて独特の視点で捉えることができました。特に、Web開発について。WordPressの開発も、例外ではありません。
WordPress開発者に戻ったとき、私はWordPressの完璧な開発環境を改めて模索してみることにしたのです。そしてWordPress周りのツールの進歩は、うれしい驚きでした。まさに、フォードからフェラーリに乗り換えたような感じでした!
そんなツールの探究に、私のワクワクは今でも止まりません。今回は、そんな私が学んだことをまとめてみたいと思います。環境構築とツールの選定に役立てれば幸いです。
すべてはサーバーから始まる
WordPressの開発環境を作るパズルでもっとも重要なピースが、サーバーです。サーバーがなければ、何もできません。
ローカルでWordPressサイトのホスティングのオプションは数多くあります。多いだけに、どれを選べばいいのかトリッキーな部分でもあります。
私の提案は、かつてのようなMAMP/WAMP/XAMPを使うのはやめて、仮想開発環境を使うことです。
なぜか? その理由は数えきれません。
- 隔離された環境だからです。仮想環境を作ることで、ホストOSとは別の、隔離された開発サーバーを立てることになります。仮想マシンならインストールするOSの種類は問われませんし、ホストに影響を与えず起動/停止がでます。開発が終わって不要になれば、消去するのも簡単です。
- サーバーの設定に失敗した? 問題ありません! 環境を作り直せば良いだけです。サーバーの設定をへたにいじくりまわして失敗した経験があると思います。仮想環境を再構築するか、単にスナップショットを使うだけで簡単に解決できます。設定の調整でも色々試すことが、失敗する恐怖抜きでできるようになるのです。
- 本番に限りなく近い環境なこと。文字どおり、本番環境のレプリカをローカルに設置した状態です。デバッグや微調整、ひいてはデプロイまで、双方の環境がまったく同じ状態なので最高に便利です。
- 1台のコンピューターで複数のサーバーが立てられます。Apacheとnginxの案件を、並行して作業しなければならないときでも問題ありません。2つの環境を、仮想マシン内に作るだけでOKです。
- 開発チーム内で統一された環境になります。開発チーム全員が同じ環境下で作業することによって、開発時間が大幅に短縮されると同時に、なぜ他のマシンでは正常なのにAさんのマシンではうまくいかないのか、といったような疑問が少なくなります。
仮想環境を使うことは、もう納得できたでしょう。では何を使えばよいのでしょうか?
私の場合、VVVを使っています。立ち上げから稼働までが非常に分かりやすく、サポートも良好です。また、私が勤めているXWP含め、多くの大手WordPress代理店が使用しているのも理由の1つです。
その他の候補としては、HGV、Wocker、VIP Quickstartなどがあります。
もしVVVを使う場合、VVVの可能性をさらに広げる、以下のプラグインとツールをお勧めします。
- vagrant-hostsupdater– インストールしてあるvagrantのhostsのドメインマッピングのエントリーを、IPアドレスに更新してくれるプラグインです。これで、いちいち手動でhostsの書き足しをする手間を省けます。
- Variable VVV– Variable VVVと呼ばれる、VVVを使う場合、群を抜いて便利なツールです。コマンドラインで新しいWordPressを簡単にVVVにインストールできるツールです。確実にお勧めです。
Aleksander Kokoが以前VVVの記事を書いていますし、私もPCへのVVVの設定方法について動画をアップしていますので、参考にしてください。
コマンドラインの威力
コマンドラインが好きじゃない人なんて、いませんよね? 内に秘めたコマンドライン欲求への答え、それがWP-CLIです。
WP-CLIは、WordPressのインストールをコマンドラインでできます(VVVを使います)。
ローカルの開発環境でWP-CLIを使った、実用例を見てみましょう。
- WordPressのインストール。SSHされたサーバーにすばやくインストールしたいのなら、WP-CLIを使うだけで、簡単にWordPressの新規インストールが完了です。
- WordPressのアップデート。いままで作ってきたWordPressのサイト1つ1つにアクセス、カチカチとクリック、更新……、と気の遠くなるような作業をせずとも、コマンド1つでアップデートできます。
- プラグインのインストール。たとえばすごく気に入ったプラグインがあって、それを複数のサイトに適用させたい場合。そう、これもWP-CLIを使えばコマンド1つでできちゃいます。
- WordPressデータベースのリセット。リセットして1からやり直したい? はい、コマンド1つ(くどいようだけど)。
- コンテンツのインポート。はい、お察しの通り、単体や複数のWordPressへのコンテンツのインポートも、コマンド1つ。
- そして、さらにもっと。
これらすべてがコマンドラインから実行できる便利な機能です。次のセクションではIDEから直接これらのコマンドを実行する方法を説明します。
もっと詳しく学びたい人は、Ahsan Parwezが執筆したWP-CLIの記事も参考にしてください。
IDEで差をつける
この記事で触れているツールのうち、IDEはもっとも議論が起こるツールだと感じています。IDEとエディターに関する話題となると、ほとんど個人の領域を侵害するような話になり、多くの人は好まないでしょう。
私は、IDEがテキストエディターより優れているか否かを述べたいわけではなく、テキストエディターからIDEに切り替えたことが良い結果を生んだという経験について述べます。
実は、私はずっとIDEを好みませんでした。「好まない」は優しい言い方ですね。「嫌い」でした。IDEはごてごてしてるし、遅いし、ごちゃごちゃしてると感じていたのです。
当時は、テキストエディターの「Sublime Text」の大ファンでした(ちなみに今でも毎日使っています)。
そして2015年12月、WordPressの開発に戻ったとき、どのテキストエディターがWordPressに対応しているか調べてみました。すると、PhpStormという名のIDEが候補の1つとして挙がったのに驚いたのです。
気乗りしないまま内容を確認すると、あれま! スルーしなくて本当によかった!
PhpStormは、PHPとWordPressの開発にベストなIDEだと個人的に思います。WordPressサイト、プラグイン、テーマの構築に必要なものが1カ所にすべて揃っていますし、WordPressとの一体感が非常に素晴らしいのです(本当に! 試してみてください)。
2016年、WordPressの開発にPhpStormを検討すべき3つの理由は以下の通りです。
- 必要な要素がすべて1カ所に。FTP=OK、データベースサポート=OK、バージョン管理=OK、デバッグ=OK、リファクタリング=OK、すばらしいインテリセンスにオートコンプリート=ダブルOK! そしてその他もろもろ。
- WordPressとの一体感は他に負けません。PhpStormはWordPressに深く精通しており、1度つなげば何がどうつながっているのかすべて把握します。WordPressの関数ないしアクションやフィルターまでもオートコンプリートしてくれます。
- 現在、トップのWordPress開発者と代理店の多くは、PhpStormを使ってコーディングをしています。この事実がWordPressの開発にベストなIDEだという明確なサインではないでしょうか。
PhpStormに興味があるなら、7 PhpStormビデオのシリーズをチェックしてください。
コードが美しくクリーンか確認するために
最後のツールは、凄いです! コーディングに関しては、私は特に細かいんです。美しくクリーンで、WordPressのコーディング規則に完璧に沿っているのが理想です。
しかしそんな細かい私でも、人間です。自分が書いたコードを見直している際に、スペースを入れ忘れたり、余計な1行があったりするのを見つけて、縮み上がるのなんてしょっちゅうです。
オープンソース界では、開発者がプロジェクトに定義されたコーディング規則に忠実なことが、非常に重要です。そうしないと、一般的なオープンソースのWordPressのようなものは、コードの質が急速に落ちてしまうからです。
事実、WordPressのコアチームは、コーディングの基準とそれに忠実か否かについては、とりわけ厳しいようです。
では、どうやってコードがきちんとWordPressコーディング規格に忠実か確かめられるのでしょう? 答えは簡単、WordPressコーディング規則ルールセットとPHP CodeSniffer(PHPCS)を組み合わせて使えば良いのです。
この2つのツールは、コードをスキャンし、書かれたコードとWordPressで求められる書き方との食い違いを探し、ジャジャン! と、どこが違うか教えてくれるのです。
その上、高度なセキュリティー問題に遭遇した場合も知らせてくれます。1つ1つすべてのセキュリティー問題をピックアップしてくるわけではないので、コードを書く際は、セキュリティーについて考えながらコーディングするようにしなければなりませんが、防衛策の1つとしては便利でしょう。
もちろん、このセクションはPhpStormでサポートされている、PHPCSについて触れなければ完成しません。 PhpStorm、PHPCS、WordPressコーディング規格のルールセットをどのように連携するかの動画をアップしていますので、参考にしてください。
最後に
今回紹介したツールの他にも、代わりに使えるツールはたくさんあります。この記事が、WordPress開発ツールについて、少なくとも関心を持つきっかけとなってくれれば幸いです。
今回紹介したツールを使うなら、WordPress開発を始めるにあたって、最新で自動化されたすばらしい基盤となることでしょう。
(原文:The Ultimate WordPress Development Environment)
[翻訳:Eri Noda]
[編集:Livit]