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

バッチスクリプトで気をつけたい点

実務でバッチ処理を作る際に気をつけるべきと思ったこと。 基本的にエラーをいかに捉えていかにログに吐くかを最初に考える。まずはエラーありき。失敗するもの、想定した値がこない、あるいは値がないを前提として …

no image

携帯サイト取得手法

PHPでスクレイピングの仕事をよくやるんですが、携帯サイトを取得してほしいという要望があり、少し調査をすることに。 携帯サイトといってもドメイン以下のディレクトリで/で区切ってsample.domai …

no image

アプリケーションアーキテクチャについて 〜ドメインモデルに関して〜

前回のトランザクションスクリプトパターンの反省から 今回はいわゆるドメインモデルの具体例に関して。 ドメイン駆動型設計には以下のような特徴があります。 大きく、アプリケーションの構成を以下のように分け …

no image

S3 commandPoolについて

S3のcommandPoolに関して。 S3にファイルをアップロード、ダウンロードするときに、1つ1つファイルをアップロード、ダウンロードすることが一般的かと思いますが、ファイル数が多くなるとなかなか …

no image

LaravelでのAPI実装

Laravelで外部からAPI叩いてデータ入力みたいなことをしたかったのでこれを機に勉強。認証とかを通してないのでそのまま公開すると危険です・・(汗) 参考リンク [PHP] Laravel5.6で、 …

アーカイブ