いくつかの大規模な PHP プロジェクトに参加し、多くの PHP コードを作成した後、多くのツールがコードの品質を向上させ、パブリッシュを簡素化し、PHP 開発者としての生活がはるかに楽になることがわかりました。これらのツールの多くはおそらく誰もがすでに使用しているでしょう。ただし、これらのツールの存在にさえ気づいていない人もいます。そのため、さっそく、すべての PHP プログラマーが知っておくべきと思われるツールのリストをここに示します。 Phing - プロジェクトビルドシステム
Phing は、Apache ANT に基づくプロジェクト ビルド システムです。その名前は、「PHing Is Not GNU make」という冗談めいた声明の頭字語です。 Phing は、GNU make のような従来のビルド システムで実行できるすべてのことを、急な学習曲線を必要とせずに実行できます。
phing (およびその他のビルド システム) の背後にある考え方は、一連の依存関係を評価し、一連の PHP クラスを実行してアプリケーションを正しくインストールおよび構成することです。ビルド プロセスは、単純な XML 構成ファイルで制御されます。 phing には、すぐに使用できる組み込みの機能があり、さまざまな置換 (開発バージョンと製品バージョン間のインクルード パスの変更など)、SQL ステートメントの実行、ファイルの移動とコピー、外部スクリプトの実行などを実行できます。配布パッケージに含まれる「タスク」クラスを拡張して、独自のカスタム タスクを作成することもできます。
Phing は、大規模な PHP アプリケーションを複数のサーバーにデプロイする必要がある人にとって非常に貴重なツールです。単純な PHP スクリプトにも便利だと思います。
Xdebug - デバッグおよび分析ツール
Xdebug は、スクリプトのデバッグと分析に役立つ PHP 拡張機能です。 Xdebug の最も便利な機能は、アクティブ化されたときに表示される新しい注意、警告、およびエラー メッセージです。スクリプトが適切に実行できない場合、Xdebug は関数名、パラメータ値、ソース ファイル、および行番号とともにエラー メッセージを含む完全なヒープ トレースを出力します。これは、PHP にデフォルトで付属している貧弱なエラー報告機能にうんざりしているプログラマにとっては歓迎すべき機能です。
この拡張機能には、開発者がコード カバレッジ分析を実行し、分析情報を収集し、スクリプトを対話的にデバッグできるようにする多くの高度な機能が備わっています。プロファイリング機能は特に便利です。アナライザーは共通の出力ファイル形式を使用するため、KCacheGrind などのツールを使用してコード内のボトルネックを迅速に見つけることができます。優れたプロファイラーは、本格的な開発者にとって不可欠なツールであり、時期尚早な最適化の危険を回避しながらコードを適切に最適化できます。
PHPUnit - 単体テストフレームワーク
PHPUnit は軽量の PHP テスト フレームワークです。これは、PHP5 での JUnit 3.8.1 の完全移植であり、テスト フレームワークの xUnit ファミリのメンバーです (ソフトウェア パターンのパイオニアである Kent Beck の設計に基づいています)。
単体テストはいくつかの最新のアジャイル開発手法の基礎であり、PHPUnit を多くの大規模な PHP プロジェクトにとって重要なツールにしています。このツールは、前に説明した Xdebug 拡張機能でコード カバレッジ レポートを生成するために使用することもでき、phing と統合してテストを自動化することもできます。
Propel - ORM (オブジェクト リレーショナル マッピング) フレームワーク
Propel は、Apache Torque プロジェクトから生まれた、PHP5 のオブジェクト リレーショナル マッピング (ORM) フレームワークです。これは、複雑だが使いやすいデータベース抽象化レイヤーを提供し、通常のクラスやオブジェクトと同じように PHP でデータベース エンティティを使用できるようにします。 Propel を使用すると、単純な XML 形式を使用してデータベースを定義できます。この XML ファイルは、データベースをマップし、アプリケーションで使用される静的クラスを生成するために使用されます。
Propel は人気のある Symfony PHP フレームワーク (とりわけ) に組み込まれており、コードをより柔軟でモジュール化し、移植性を高めます。このプロジェクトには優れたドキュメントと優れたサポート コミュニティがあります。
phpMyAdmin / phpPgAdmin - Webベースのデータベース管理システム
phpMyAdmin は長い歴史がありますが、今でも非常に便利です (PostgreSQL と SQLite に対応するのは phpPgAdmin と phpSQLiteAdmin)。アプリケーションのデバッグ用のデータベースの作成と削除からバックアップの取得まで、あらゆることに役立ちます。通常、LAMP サーバーに Apache、PHP、MySQL をインストールした後、最初にインストールします。 MySQL を使用していて、聞いたことがない場合は、今すぐインストールしてください。
その他のツール