S eda1a14b50ee24bcab19b62f40858e76 Phing

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

http://phing.info/trac/

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

インストール

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

Can't load default task list

Windowsでエラーがでる。phingはあんまりwindowsで動くようにはテストされてないみたいだ…。

このエラーの根本的な原因はphingのデータディレクトリのパスの解決に失敗してるから。
PEARでインストールすると $dataDir が自動的に置き換わるようになっている。はずなんだけど、何故かエラーが出る環境がある。

ソースPhing.phpの getResourcePathを直接書き換えるか、include_pathにpear/dataを追加するかしなければならない。



サンプル

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

build.xml


    
        
        
        
        
        
    


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

buildfile

http://phing.info/docs/guide/current/chapt...#XMLAndPhing

...
...

タスク

CapsuleTask

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

指定しなければならないプロパティ
・ templatePath
・ controlTemplate(テンプレートファイル名)
・ outputDirectory
・ outputFile
・ contextProperties(assignする変数をproperties形式で書かれたファイル名)

svn

この4つが使える。
SvnCheckoutTask
SvnUpdateTask
SvnLastRevisionTask
SvnExportTask

checkoutするならこう


でも実行結果が出力されない。$this->runしてるとこを$this->logに渡せば出る。

無駄に調べたメモ

・target要素はなくてもいい。project直下にタスク書いてもいける
・でも、project要素のdefault属性はつけないといけない
・外部別のファイル読むにはPhingTaskを使う

もしかして

    他の人の「Phing」

    S eda1a14b50ee24bcab19b62f40858e76

    無所属ソフトウェアエンジニア

    (1722words)

    最新

      最新エントリ