2010-05-03 76 views
2

使用zf create project myproject創建新項目時,它將在configs文件夾中創建一個帶有application.ini的默認項目佈局。我在哪裏可以更改這些默認設置,以便它生成(並使用)XML文件(application.xml)?我查看了Zend_Tool的文檔(http://framework.zend.com/manual/en/zend.tool.html),但似乎沒有關於如何執行此操作的信息。如何使用Zend_Tool生成XML應用程序配置?

假設您想要使用不同的默認文件夾佈局(即使用htdocs而不是public作爲文檔根目錄),有沒有辦法指定它?

任何指向相關信息的指針(順便說一句,我已經看過快速入門,除非我忽略它,那裏沒有提及任何相關內容)?

編輯

我已經嘗試過創建一個配置文件(存儲在.zf /項目/配置文件),並使用了創建(使用zf create project myproject myprofile)的一個項目,但是這並沒有改變任何東西,甚至儘管新項目的根目錄中的.zfproject.xml文件確實包含<applicationConfigFile type="xml"/>設置...

新項目包含此項(如您所見,它只是默認設置,只有applicationConfigFile的類型已被改變):

<?xml version="1.0"?> 
<projectProfile type="default" version="1.10"> 
    <projectDirectory> 
    <projectProfileFile filesystemName=".zfproject.xml"/> 
    <applicationDirectory classNamePrefix="Application_"> 
     <apisDirectory enabled="false"/> 
     <configsDirectory> 
     <applicationConfigFile type="xml"/> 
     </configsDirectory> 
     <controllersDirectory> 
     <controllerFile controllerName="Index"> 
      <actionMethod actionName="index"/> 
     </controllerFile> 
     <controllerFile controllerName="Error"/> 
     </controllersDirectory> 
     <formsDirectory enabled="false"/> 
     <layoutsDirectory enabled="false"/> 
     <modelsDirectory/> 
     <modulesDirectory enabled="false"/> 
     <viewsDirectory> 
     <viewScriptsDirectory> 
      <viewControllerScriptsDirectory forControllerName="Index"> 
      <viewScriptFile forActionName="index"/> 
      </viewControllerScriptsDirectory> 
      <viewControllerScriptsDirectory forControllerName="Error"> 
      <viewScriptFile forActionName="error"/> 
      </viewControllerScriptsDirectory> 
     </viewScriptsDirectory> 
     <viewHelpersDirectory/> 
     <viewFiltersDirectory enabled="false"/> 
     </viewsDirectory> 
     <bootstrapFile filesystemName="Bootstrap.php"/> 
    </applicationDirectory> 
    <dataDirectory enabled="false"> 
     <cacheDirectory enabled="false"/> 
     <searchIndexesDirectory enabled="false"/> 
     <localesDirectory enabled="false"/> 
     <logsDirectory enabled="false"/> 
     <sessionsDirectory enabled="false"/> 
     <uploadsDirectory enabled="false"/> 
    </dataDirectory> 
    <docsDirectory> 
     <file filesystemName="README.txt"/> 
    </docsDirectory> 
    <libraryDirectory> 
     <zfStandardLibraryDirectory enabled="false"/> 
    </libraryDirectory> 
    <publicDirectory> 
     <publicStylesheetsDirectory enabled="false"/> 
     <publicScriptsDirectory enabled="false"/> 
     <publicImagesDirectory enabled="false"/> 
     <publicIndexFile filesystemName="index.php"/> 
     <htaccessFile filesystemName=".htaccess"/> 
    </publicDirectory> 
    <projectProvidersDirectory enabled="false"/> 
    <temporaryDirectory enabled="false"/> 
    <testsDirectory> 
     <testPHPUnitConfigFile filesystemName="phpunit.xml"/> 
     <testApplicationDirectory> 
     <testApplicationBootstrapFile filesystemName="bootstrap.php"/> 
     </testApplicationDirectory> 
     <testLibraryDirectory> 
     <testLibraryBootstrapFile filesystemName="bootstrap.php"/> 
     </testLibraryDirectory> 
    </testsDirectory> 
    </projectDirectory> 
</projectProfile> 

回答

2

好問題。

您需要某種類型的項目配置文件。在看看:

庫\ Zend的\工具\項目\供應商\ Project.php

有與默認配置的部分。

protected function _getDefaultProfile() 
    { 
     $data = <<<EOS 
<?xml version="1.0" encoding="UTF-8"?> 
<projectProfile type="default" version="1.10"> 
    <projectDirectory> 
     <projectProfileFile /> 
     <applicationDirectory> 
      <apisDirectory enabled="false" /> 
      <configsDirectory> 
       <applicationConfigFile type="ini" /> 

上週有一個很好的VideoScreencast解釋如何創建自己的Zend工具供應商,我認爲這可以幫助。

更新:

我檢查了源代碼,看起來像的文件名是不能改變。

class Zend_Tool_Project_Context_Zf_ApplicationConfigFile extends Zend_Tool_Project_Context_Filesystem_File 
{ 

    /** 
    * @var string 
    */ 
    protected $_filesystemName = 'application.ini'; 

無法找到將其設置爲xml的方法。

Introducing Zend Tool

+0

那麼實際上,我已經創建的配置文件(在.zf /項目/簡檔)其中,I改變'''進 '。如果我使用該命名配置文件創建項目,那麼在.zfproject.xml中,您會看到它已經選取了正確的XML,但它仍然會生成一個application.ini文件,沒有application.xml ...我更新了原始帖子與我的個人資料的內容。 – wimvds 2010-05-04 07:28:42

+0

更新了我的帖子 – opHASnoNAME 2010-05-04 09:15:01

+0

我也看了一下代碼。基本上你可以提供一個類型,但是目前這簡直被忽略,INI文件支持也似乎是硬編碼的(參見getAsZendConfig)... – wimvds 2010-05-05 13:14:34

相關問題