2014-01-07 3 views
0

У меня есть URL: http://localhost/dir-withdash/controllerКак перенаправить URL с тире в подпапку в FuelPHP?

И это структура папок.

/fuel 
..../app 
......../classes 
............/controller 
................/dir-withdash 
..................../controller.php 
............/model 
............/view 

файл контроллер в /fuel/app/classes/controller/dir-withdash/controller.php

проблемы есть ..

Как назвал класс контроллера? и Как добраться до его контроллера?


Это мой класс контроллера, который не работает.

class Controller_DirWithdash_Index extends \Controller 
{ 


    public function action_index() 
    { 

    }// action_index 


} 

Это мой маршрут, который тоже не работает.

'dir-withdash/(.*)' => 'DirWithdash/$1', 

ответ

2

Если цель состоит в том, чтобы иметь дефис в URL, я хотел бы предложить вам удалить дефис в папке:

/fuel/app/classes/controller/DirWithdash/Home.php

Обновление маршрутов файла к следующему, где home указывает на геймпаде и index ваше действие:

'dir-withdash/(.*)' => 'DirWithdash/Home/index/$1',

И обновите свой класс по следующему адресу:

class Controller_DirWithdash_Home extends \Controller 
{ 

    public function action_index() 
    { 

    }// action_index 

} 
+0

Есть ли способ содержать «-» в папке? потому что мой старый проект (CI framework) имеет эту папку с «-». – vee

+0

Топливо будет искать имя класса 'Controller_Dir-Withdash_Home', которое является недопустимым именем класса в PHP, поэтому вам нужно будет использовать маршрутизацию для правильного перевода. Возможно, вам захочется взглянуть на то, можно ли изменить uri на нечто более разумное. – Uru

Смежные вопросы