使用zf create project myproject
创建新项目时,它将在configs文件夹中创建一个带有application.ini的默认项目布局。我在哪里可以更改这些默认设置,以便生成(并使用)XML文件(application.xml)?我查看了Zend_Tool(http://framework.zend.com/manual/en/zend.tool.html)的文档,但似乎没有关于如何执行此操作的信息。
假设你想使用不同的默认文件夹布局(即使用htdocs而不是public作为你的文档根目录),有没有办法指定这个呢?
任何指向相关信息的指针(顺便说一句,我看过快速入门,除非我忽视它,否则没有提到任何相关内容)?
修改
我已经尝试创建一个配置文件(存储在.zf / project / profiles中),并使用它创建一个项目(使用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>
答案 0 :(得分: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工具提供商,我认为这可以提供帮助。
更新
我检查了sourceCode,看起来文件名不可更改。
class Zend_Tool_Project_Context_Zf_ApplicationConfigFile extends Zend_Tool_Project_Context_Filesystem_File
{
/**
* @var string
*/
protected $_filesystemName = 'application.ini';
无法找到将其设置为xml的方法。