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

テストコードの書き方の注意点

テストコードを実装する様になって1年ぐらいたったのですが、そこできづいたことなどを。 Contents1 タイトルをわかりやすく2 値をなるべく具体的に書く3 疑似的な仕組みはなるべく避ける(例:Mo …

no image

cake sql系+リレーション+ヘルパー

先月末に引き続いてcakeネタをもりっといきます。 といっても自分用の小ネタリンク集です。 Contents1 sql系の小ネタ1.1 findとread1.2 find(‘count&# …

no image

PHPメモリ測定

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

no image

Facadeパターンについて(Laravelを題材に)

LaravelのFacadeについて自作する機会があったので、メモ。 デザインパターンの一種かと思います。 Contents1 サンプル2 使い所3 メリット4 デメリット5 参考リンク サンプル h …

no image

PHPでのコンソール入力に関して

PHPはほとんどの場合、ブラウザでURLをたたいてWEBサーバーから呼び出されるパターンがほとんどです。 ところが、コンソールから使いたい場合などもあるでしょう。 コンソールから入力する場合、なんらか …

アーカイブ