2012-01-08 66 views
0

我需要關於如何組織我的文件和文件夾的建議。
首先,我在Windows 7 64位下工作,使用PHP作爲語言和Eclipse作爲IDE。如何組織我的工作空間和工作副本

我曾經把所有的作品放在一個文件夾下,所以我可以通過簡單的點擊來檢查/輸出。更重要的是,我所有的項目都需要在XAMPP路徑下,這就像J:\XAMPP\htdocs\my_project

這是我的開發文件夾:

MyProject 
    `- trunk 
    `- component 
     `- backend 
     `- frontend 
    `- modules 
     `- mod_myproject 
    `- plugins 
MyProject2 
    `- etc. etc. 

,一切都應該走在正確的地方,即:

J:\xampp\htdocs\myproject1 
    administrator 
     `- components 
     `- com_myproject  (refers to trunk/component/backend) 
    components 
     `- com_myproject   (refers to trunk/component/frontend) 
    modules 
     `- mod_myproject   (refers to trunk/modules/mod_myproject) 

我怎樣才能組織一切,所以我可以有我的兩個「dev的文件夾」和「工作區文件夾」更新?

這裏也有一些相關信息:

  • 我無法將文件註冊自動加載使用PHP函數
    這就是爲什麼我是一個Joomla!開發人員和每個擴展都有其路徑;檔案需要在那個地方。
  • 我不能使用符號連接
    我真的不知道爲什麼,但我符號鏈接無法使用Xdebug的調試這些文件我的代碼,當然,我真的很需要這是怎麼回事我的組件
  • 我想避免複製腳本
    我有一個Ant腳本,直到有一天我發起了deploy腳本,而不是commit之一。與點擊-.-
  • SVN或GIT
    浪費即使我不跟這些CVS親工作半天,我可以同時使用,所以使用一個,而不是一個一個又一個沒有區別。

我真的需要一個建議,因爲我覺得我做錯了..

+0

你對'trunk'的用法說你已經有SVN的偏見了;)如果使用git,你可能想看一下'git archive',並根據它建立一個部署腳本。 – fge 2012-01-08 12:10:30

回答

0

OK,好了,這裏是我會怎麼做,但當然情況因人而異的。當你使用Eclipse時,你可以使用ant(沒有人說螞蟻只用於Java,嘿)。

如果你使用git,你有一個經常被忽視的,但是非常有用的,git archive命令。

這個例子要求你在你的路徑上有一個git(或者用cygwin或者msysgit,我恰好喜歡cygwin)。

所以,讓我們在構建中製作一個螞蟻宏。xml文件:

<property name="zipout" location="/some/path"/> 

<macrodef name="git-deploy"> 
    <attribute name="src"/> 
    <attribute name="dst"/> 
    <attribute name="refspec" default="HEAD"/> 
    <sequential> 
     <exec executable="git" failonerror="true" output="${zipout}/archive.zip"> 
      <arg value="archive"/> 
      <arg value="--format=zip"/> 
      <arg value="[email protected]{dst}/"/> 
      <arg value="@{refspec}:@{src}"/> 
     </exec> 
     <unzip src="${zipout}/archive.zip" dest="/path/to/htdocs"/> 
     <delete file="${zipout}/archive.zip"/> 
    </sequential> 
</macrodef> 

然後,您可以使用此宏從您的dev目錄的根具有:

<git-deploy src="trunk/component/backend" refspec="somebranch" 
    dst="administrator/components/com_myproject"/> 

然後,您可以定義一個屬性文件源,以確定您的zipout,路徑htdocs等,並在宏中使用它們。