У меня есть приложение с некоторыми модулями. Один из них CourseSearch
. Теперь я хочу добавить еще один, SportsPartnerSearch
. Так как эти два модуля очень похожи друг на друга, я просто "клонировал"/скопировал CourseSearch
и заменил все "Курс" на "SportsPartner" (во всех вариациях: $course
на $sportsPartner
, course-...phtml
на sports-partner-...phtml
и т.д.), чтобы отредактировать Логика второго шага. Теперь я получаю следующие ошибки:
Предупреждение: require_once(/path/to/project/module/SportsPartnerSearch//src/CourseSearch/View/Helper/CourseSearchForm.php): не удалось открыть поток: Нет такого файла или каталога в /path/to/project/vendor/zendframework /zendframework/library/Zend/Loader/ClassMapAutoloader.php в строке 140
Неустранимая ошибка: require_once(): Не удалось открыть требуемый '/path/to/project/module/SportsPartnerSearch//src/CourseSearch/View/Helper/CourseSearchForm.php' (include_path='.:/usr/share/php:/usr /share/pear') в /path/to/project/vendor/zendframework/zendframework/library/Zend/Loader/ClassMapAutoloader.php в строке 140
Почему путь к файлу строится таким странным образом: /path/to/project/module/
SportsPartnerSearch
//src/
CourseSearch
/View/Helper/CourseSearchForm.php
? Где я сделал ошибку?
Некоторая дополнительная информация.
Класс, который не может быть найден, так как в модуле CourseSearch указан неверный путь CourseSearch\View\Helper\CourseSearchForm
. Его можно найти, когда я деактивирую новый модуль SportsPartnerSearch
, содержащий класс SportsPartnerSearch\View\Helper\SportsPartnerSearchForm
.
Помощник вида CourseSearchForm
создан в CourseSearchForm\Module
class Module {
public function getViewHelperConfig() {
return array(
'factories' => array(
'courseSearchForm' => function($serviceManager) {
$helper = new View\Helper\CourseSearchForm(array('render' => true, 'redirect' => false));
// ERROR. This code is not executed anymore.
$helper->setViewTemplate('course-search/course-search/course-search-form');
$courseSearchForm = $serviceManager->getServiceLocator()->get('CourseSearch\Form\CourseSearchForm');
$helper->setCourseSearchForm($courseSearchForm);
return $helper;
}
)
);
}
}
И вызывается в файле макета:
echo $this->courseSearchForm();
SportsPartnerSearch\View\Helper\SportsPartnerSearchForm
создается таким же образом в SportsPartnerSearch\Module#getViewHelperConfig()
и еще не вызывается.