2016-12-07 5 views
1

Я пытаюсь разработать приложение, использующее Kohana 3.3 и Heroku.Контроллеры подкаталогов Kohana 3.3 не загружены в Heroku

Основная проблема, когда у меня есть контроллеры в подкаталог, как последовать примеру

имя_директории \ Class1 Dirname \ Class2

Class2 расширяет Class1

Тогда я маршрут установлен в этом месте, которое отлично работает на моей локальной среде (проверено на Ubuntu с Apache 2.4 и PHP 5.6 и Windows с XAMPP), но когда я пытаюсь получить доступ к этому маршруту, Heroku не может открыть маршрут с ошибкой, что Class1 не найден.

Я попытался также обновить htaccess и обновить файл маршрутизации пару раз различными опциями, которые все еще работают на моем локальном env. но невозможно заставить это работать на Хероку.

Вот маршрут я использую для этого:

Route::set('dashboard', 'dashboard(/<controller>(/<action>))') 
->defaults(array(
    'directory' => '/dashboard', 
    'controller' => 'Main', 
    'action' => 'index' 
)); 

Так что, когда я получить доступ к example.com/dashboard хорошо работает на Heroku, но когда я пытаюсь example.com/dashboard/something то это может найти контроллер, которого я пытаюсь достичь (в данном случае называется Controller_Dashboard_Something), но он не может найти главный контроллер (с именем Controller_Dashboard_Main). Еще раз локально это работает хорошо, но на Heroku я не уверен, что я делаю что-то неправильно или не понимает автозагрузчик правильно.

Так что любой, кто может помочь, был бы благодарен.

Благодаря

ответ

0

Я нашел один обходной путь, который может быть полезным для других. Это не яркое решение, но оно работает.

Я добавил только следующую строку в файле Class2.

require "Class1" 
0

Контроллер в dirname \ Class1 должен иметь имя класса Controller_dirname_Class1. Все части чувствительны к регистру для хостинга linux, что может быть проблемой в Heroku, потому что в окнах это не имеет значения.