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

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

顯示具有 Ant使用 標籤的文章。 顯示所有文章
顯示具有 Ant使用 標籤的文章。 顯示所有文章

2012年7月4日 星期三

使用Eclipse Ant plugin操作流程

目前Ant工具已經內崁為Eclipse IDE的一部份,因此我們不需要額外再安裝Ant plugin套件,
其使用方法極為簡單,完整的操作流程可參考下列說明:

1. 開啟您的Eclipse IDE,建立一個TestProject的專案之後,於src/jcode/test套件目錄底下
   新增HelloTest類別且於程式進入點的main()函式,加入以下的一段程式代碼:

public static void main(String[] args) {
  System.out.println("Hello, everybody!");    
}

2. 把滑鼠指標移至TestProject的圖示,然後點擊滑鼠右鍵,出現上下文選單(context menu)點取Export項目,



   畫面帶出如下圖的"Export"對話方塊,選擇"Ant Buildfiles"圖示,來產出TestProject的build.xml文件檔:

 

3. 打開build.xml文檔,並且對該文件進行局部性的修改,其修改過的程式代碼以紅色粗體字表示。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project basedir="." default="build" name="TestProject">
    <property environment="env"/>
    <property name="ECLIPSE_HOME" value="../../../eclipse-sdk-helios"/>
    <property name="debuglevel" value="source,lines,vars"/>
    <property name="target" value="1.6"/>
    <property name="source" value="1.6"/>
      <property name="dist" location="dist"/>
   
    <path id="TestProject.classpath">
        <pathelement location="bin"/>
        <pathelement location="../../../jar-lib/ojdbc14.jar"/>
    </path>
    <target name="init">
        <mkdir dir="bin"/>   
        <copy includeemptydirs="false" todir="bin">
            <fileset dir="src">
                <exclude name="**/*.launch"/>
                <exclude name="**/*.java"/>
            </fileset>
        </copy>
    </target>
    <target name="clean">
        <delete dir="bin"/>
    </target>
    <target depends="clean" name="cleanall"/>
    <!--target depends="build-subprojects,build-project" name="build"/-->
   
      <target depends="dist" name="build"/>
   
    <target name="build-subprojects"/>
    <target depends="init" name="build-project">
        <echo message="${ant.project.name}: ${ant.file}"/>
        <javac debug="true" debuglevel="${debuglevel}" destdir="bin" source="${source}" target="${target}">
            <src path="src"/>
            <classpath refid="TestProject.classpath"/>
        </javac>
    </target>
   
      <target name="dist" depends="build-subprojects,build-project" description="generate the distribution" >
        <!-- 創建放置jar檔目錄 -->
        <mkdir dir="${dist}/lib"/>
        
        <!-- build目錄內的所有檔案結構打包成一個TestProject.jar  -->
        <jar jarfile="${dist}/lib/${ant.project.name}.jar" basedir="bin"/>
      </target>
   
    <target description="Build all projects which reference this project. Useful to propagate changes." name="build-refprojects"/>
    <target description="copy Eclipse compiler jars to ant lib directory" name="init-eclipse-compiler">
        <copy todir="${ant.library.dir}">
            <fileset dir="${ECLIPSE_HOME}/plugins" includes="org.eclipse.jdt.core_*.jar"/>
        </copy>
        <unzip dest="${ant.library.dir}">
            <patternset includes="jdtCompilerAdapter.jar"/>
            <fileset dir="${ECLIPSE_HOME}/plugins" includes="org.eclipse.jdt.core_*.jar"/>
        </unzip>
    </target>
    <target description="compile project with Eclipse compiler" name="build-eclipse-compiler">
        <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
        <antcall target="build"/>
    </target>
</project>


4. 將滑鼠指標移動到build.xml圖示,單點滑鼠右鍵後選取"Run As -> 1 Ant Build"項目執行,會於"Console"輸出Ant的腳本代碼:




Buildfile: D:\works\TestProject\build.xml
build-subprojects:
init:
build-project:
     [echo] TestProject: D:\works\TestProject\build.xml
dist:
    [mkdir] Created dir: D:\works\TestProject\dist\lib
      [jar] Building jar: D:\works\TestProject\dist\lib\TestProject.jar
build:
BUILD SUCCESSFUL
Total time: 526 milliseconds

Ant的手動安裝設定


Ant本身並非是一個Windows的程式,因此安裝過程需要一些手動安裝步驟。

1. 首先,到apache ant的官方網站http://ant.apache.org/bindownload.cgi下載ant的程式套件壓縮檔



2. 再來,將Ant程式套件的zip檔解壓縮到Windows的指定目錄e.g., C:\myant\
   zip檔內會包含依據版本資訊命名"apache-ant"的子目錄結構。
3. 然後,你需要設定一些環境變數以讓你的command console知道如何去找到Ant的執行檔
   以及讓Ant知道在那裡可以找到java執行檔

在Windows XP的對話框中,你可以存取環境變數藉由"開始選單"與右擊"我的電腦"圖示。
稍後會帶出"系統屬性"對話方塊。請選取"進階"按鈕:



並且點擊"環境變數"按鈕。

4. 最後,你需要使用"新增"按鈕加入兩個新的變數分別如下:

  • ANT_HOME是ant套件解壓縮後所放置的根目錄所在位置
  • JAVA_HOME表示Java SDK安裝所在根目錄




而且你還需要編輯變數:

  • 於PATH變數增加%ANT_HOME%/bin的路徑




5. 完成以上步驟之後,打開你的command console輸入ant按Enter鍵,若輸出以下的訊息字串時,代表Ant的安裝設定成功。






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