PHP字串長度找子字串與取代字串的常用函數

PHP在字串的操作上,有非常多的相關函數可以使用,我們在這裡只介紹經常會使用到的字串操作函數。像是如何取得字串的長度、在某一個字裏面尋找子字串首次出現的位置、以及字串的取代函數...等等。這些都是在編寫程式的時候,頻繁被程式設計師使用到的基礎函數。 取得字串長度 <?...

2012年7月1日 星期日

Apache Ant的快速入門

1. Ant定義

Ant(Another Neat Tool)是一組Java類別庫與命令列工具,它的建立檔案(build file)是由XML組成,而每一個建立檔案會包含一個計畫(Project)與一個以上的目標(target),在每一個目標內會包含一組要執行的任務(task)。一個Ant建立檔案會由計畫、目標、任務、屬性(properties)、路徑(paths)等相關元素所組成。

2. Ant的組成元素

計畫(Project)

在Ant腳本中是為上層的元素,它有三個選擇性的屬性可以設定,分別name、default、basedir
  • name是專案的名稱
  • default代表當在專案中不存在任何target時,專案就會直接使用default設置的target
  • basedir即buildfile文件所在之根目錄

目標(Target)

每一個專案定義零到多個目標,一個目標也就是一組你想要執行的任務,並且當您要啟動Ant時,可以選擇想要執行的目標只要沒有給定任何目標,專案就會使用預定目標  我們也可以運用if/unless條件式來決定該執行那一個目標,一個目標可以相依於其他目標,也就是需要等被依賴的目標執行完成,該目標才能接續執行。

任務(Tasks)

一個任務是由一個可執行的代碼所組成,它包含了多重屬性。

屬性(Properties)

一個屬性是由一個名稱和一個值組成,名稱以大小寫作為區別,舉例來說,有一個builddir的屬性擁有build值,  而且使用在屬性標籤表示式會是${builddir}/classes,當執行Ant buildfile時會輸出build/classes的結果,一般而言屬性不是變數,通常以字串常數的型態呈現。
  • 例子,設置test.dist屬性為"dist"值:
          <property name="test.dist" value="dist"/>

路徑(Paths)

路經結構是由classpath、pathelement、fileset、dirset與filelist等元素分別組合而成。
  • classpath是類別參考路徑
  • pathelement用來指定目錄或jar文檔
  • fileset是一群檔案的組合
  • dirset是一群目錄的組合
  • filelist定義為檔案的集合
  <classpath>
    <pathelement path="${classpath}"/>
    <fileset dir="lib">
      <include name="**/*.jar"/>
    </fileset>
    <pathelement location="classes"/>
    <dirset dir="${build.dir}">
      <include name="apps/**/classes"/>
      <exclude name="apps/**/*Test*"/>
    </dirset>
    <filelist refid="other_jars"/>
  </classpath>

3.第一支簡單的Ant buildfile文件

首先, 我們必須依據所屬的應用程式專案建立自己的buildfile文件,可以參考以下的範例說明:
  • 建立簡單buildfile文件範例
<project name="TestProject" default="dist" basedir=".">   
  <!-- build文件設定全域性屬性 -->
  <property name="src" location="src"/>
  <property name="build" location="build"/>
  <property name="dist"  location="dist"/>

  <target name="init">   
    <!-- 建立build的目錄結構 -->
    <mkdir dir="${build}"/>
  </target>

  <target name="compile" depends="init" description="compile the source " >
    <!-- src目錄編繹java代碼,且將編譯好的class代碼移動到build目錄  -->
    <javac srcdir="${src}" destdir="${build}"/>
  </target>

  <target name="dist" depends="compile" description="generate the distribution" >
    <!-- 創建放置jar檔目錄 -->
    <mkdir dir="${dist}/lib"/>

    <!-- build目錄內的所有檔案結構打包成一個TestProject.jar  -->
    <jar jarfile="${dist}/lib/${ant.project.name}.jar" basedir="${build}"/>
  </target>

  <target name="clean"  description="clean up" >
    <!-- 刪除builddist樹狀結構目錄  -->
    <delete dir="${build}"/>
    <delete dir="${dist}"/>
  </target>
</project>

在撰寫完成buildfile文件之後,需要安裝Ant工具或者使用Eclipse IDE內建的Ant plugin來執行我們剛才所建立的buildfile文件。
  • Ant腳本輸出:
Buildfile: D:\Works\TestProject\TestProject.xml
init:
    [mkdir] Created dir: D:\Works\TestProject\build
compile:
    [javac] Compiling 1 source file to  D:\Works\TestProject\build
dist:
    [mkdir] Created dir: D:\Works\TestProject\dist\lib
      [jar] Building jar: D:\Works\TestProject\dist\lib\TestProject.jar




沒有留言:

張貼留言