Как я могу сгенерировать конфигурацию приложения XML с помощью Zend_Tool?
При создании нового проекта с помощью zf create project myproject
он создаст макет проекта по умолчанию с приложением application.ini в папке config. Где я могу изменить эти настройки по умолчанию, чтобы он генерировал (и использовал) файл XML (application.xml)? Я посмотрел документацию для Zend_Tool ( http://framework.zend.com/manual/en/zend.tool.html), но, похоже, нет информации о том, как это сделать.
И предположим, что вы хотите использовать другой макет папки по умолчанию (т. Е. Использовать htdocs вместо public в качестве корня документа), есть ли способ указать это?
Есть ли какие-либо указатели на соответствующую информацию (кстати, я посмотрел на Quickstart, там ничего не упоминается, если я не пропускаю это)?
редактировать
Я уже пытался создать профиль (хранится в.zf/project/profile) и использовал его для создания проекта (используя 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>
1 ответ
Хороший вопрос.
Вам нужен какой-то профиль проекта. Посмотрите в:
Библиотека \Zend\ Инструмент \Project\Provider\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 Tool, думаю, это может помочь.
Обновить:
Я проверил исходный код, похоже, что имя файла не меняется.
class Zend_Tool_Project_Context_Zf_ApplicationConfigFile extends Zend_Tool_Project_Context_Filesystem_File
{
/**
* @var string
*/
protected $_filesystemName = 'application.ini';
Не удалось найти способ установить его в XML.