akkun_choi pedia
(1722 keywords)

よく使われているタグ

akkun_choiのお気に入り

  • 醤油辞典~うまいしょうゆ大好き!醤油マニア デイヴィッドのブック 醤油辞典~うまいしょうゆ大好き!醤油マニア デイヴィッドのブック
  • ななこのブック ななこのブック
  • バグ・要望はこちら バグ・要望はこちら
  • マインディア開発者からのお知らせ マインディア開発者からのお知らせ

akkun_choi pediaのメンバー

  • akkun_choi akkun_choi
  • 西小倉パンデイロ 西小倉パンデイロ
  • tsucchon tsucchon
  • 須田健太郎 須田健太郎

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

buildfile

http://phing.info/docs/guide/current/chapters/GettingStarted...

<project name="FooBar" default="dist" basedir=".">...</project>
<target name="dist" depends="prepare">...</target>

タスク

CapsuleTask

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

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

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

svn

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

checkoutするならこう

<svncheckout
  svnPath="svn" // svnクライアントのパス
  toDir="library"
  repositoryUrl="http://server/repository/url" />


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

Zend_Config, Zend_DBを使ってmigrateするタスク

http://item.mindia.jp/akkun_dev/framework/trunk/src/Mindia/T...

build.xml

<project name="myproject" default="install" basedir=".">
  <taskdef name="dbmigrate" classname="mindia.task.DbMigrateTask" classpath="lib" />
  <target name="install">
    <dbmigrate connectorFile="config/server.ini">
      <fileset dir="application/db">
        <include name="*.sql" />
      </fileset>
    </dbmigrate>
  </target>
</project>


config/server.ini
[database]
adapter = Pdo_MySQL
params.engine = mysql
params.username = akkun
params.password = password
params.host = localhost
params.dbname = mydatabase

後はapplication/dbディレクトリに実行したいsqlファイルをいれてphing!