Phingの履歴

PHPant情報があまりないなぁ…。Symfonyで使われてるみたいだけど。

http://phing.info/trac/

ユーザガイド
http://phing.info/docs/guide/current/

インストール

% pear channel-discover pear.phing.info
% pear install phing/phing

サンプル

例)temp,logディレクトリを作成して、777にする

build.xml

<?xml version="1.0"?>
<project name="myproject" default="install" basedir=".">
    <target name="install">
        <echo msg="Making directory" />
        <mkdir dir="temp" />
        <mkdir dir="log" />
        <chmod file="temp" mode="0777" />
        <chmod file="log" mode="0777" />
    </target>
</project>


build.xmlがあるディレクトリでコマンドを実行
% phing

タスク

CapsuleTask

テンプレートを使ってファイル生成する。例えば自分でscaffoldみたいなことが作れる。CapsuleというのはPhingが用意した素のPHPによるテンプレートエンジン。テンプレート内で<?php echo $var ?>とかやって変数出力する。素のPHPだからテンプレート内でコードも書けるので手軽。同じようなものにSmartyTaskがある。

指定しなければならないプロパティ

  • templatePath
  • controlTemplate(テンプレートファイル名)
  • outputDirectory
  • outputFile
  • contextProperties(assignする変数をproperties形式で書かれたファイル名)