skillup

技術ブログ

PHP プログラミング全般

phing

投稿日:2017年5月8日 更新日:

今までphpunit,phpmd,phpcodesniffer,phpdocumentなどのツールをいろいろと試してきますが、個別に動かしていると大変面倒ですので、これを一気に行えるライブラリがあります。

phing

https://www.phing.info/

JavaでいうAnt,mavenのようなビルドツールです。

xml形式でタスクを記述しておくと、上からタスクを順に読み込んで実行してくれます。

インストール

composerでインストールするのが一番簡単かと思います。

サンプル

phpunit,phpmd,phpcodesniffer,phpdocumentを一度に実行する場合です。

build.xml

解説(自分用メモ)

  • まず実行するprojectと実行するタスクを<project  name=”” default=”build”></project>で記述します。今回実行するタスクはbuildになります。
  • あるタスクが別のタスクを必要とするときdepends~で記述します。上記の例だとbuildはphpunit,phpmd,phpcodesniffer,phpdocumentというタスクに依存しています。要はこの4つのタスクを実行した後で実行されます。
  • 1つ1つのtaskは<target name~と記述します。記述したいことがあればdescriptionで記述します。
  • 実行したい中身を<phpdoc2などのタグで囲みます。個々のタグをどのように記述するかは冒頭で紹介したphingのリンクに書かれています。https://www.phing.info/docs/guide/stable/

なお、if文などの条件分岐も盛り込めるようです。

実行コマンド

最小なのは設定ファイルのみ定義して実行です。

./vendor/bin/phing -buildfile build.xml

他に特定タスクだけを実行したい場合は下記のようにできます。

./vendor/bin/phing -buildfile build.xml phpunit

参考リンク

Phing入門 ~基本的な使い方~

PHP 用の CI 設定のまとめ

[PHP]10分で静的解析による統一されたコーディング環境を整える(Phing / php-md / php-cs-fixer)

-PHP, プログラミング全般
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

PHPメモリ測定

プログラムのメモリ測定に関して。今回はWordPressの処理に関してです。 まずはソースから。 処理を入れているファイルはルートディレクトリ直下のindex.phpです。 [crayon-5f6cb …

no image

PHPの開発事情 (PHPBrew/ビルトインサーバー/Xdebug/PHPUnit/Composer)

私自身、プログラミングは好きなんですがあまり現代の流行の技術に興味がありません(汗) IT業界はドッグイヤーならぬ、マウスイヤーとも呼ばれているようで、常に最新技術の動向には目を光らせていく必要があり …

no image

トランザクショントークンについて

フォーム画面で入力を行うときにはPOSTでデータを受け取ってエラーチェックしたり、データベースに入力をしたりします。 ただその時に何も考えずに安易に送信→受信の際に以下のようなトラブルがあり得ます。 …

no image

リクエストとレスポンスについて

Laravelでリクエストとレスポンスにはそれぞれ元からクラスが当てあられております。

上記のようなメソッドでリクエストパラメータ自体 …

no image

laravel Mix

Contents1 laravel Mix2 インストール laravel Mix 実務でlessを使っていて便利なのですが、コンパイルをatomのプラグインで行っていました。 ※保存されると自動的に …