#php #laravel #frameworks #controller #namespaces
#php #laravel #фреймворки #контроллер #пространства имен
Вопрос:
У меня уже есть работающее приложение, и в PhoneController.php
папке controllers есть.
Теперь я хочу добавить API для своего приложения, поэтому я добавил apiv1PhoneController.php
Но когда я использую маршрутизацию, это работает не так, как я хочу:
Route::group(array('prefix' => 'api/v1'), function()
{
Route::get('test', 'PhoneController@index');
});
Я пытался добавить 'namespace' => 'apiv1'
или apiv1PhoneController@index
, но это всегда выбирает неправильный PhoneController.
Есть ли какие-либо способы заставить это работать? Я мог бы переименовать PhoneController.php
, но это может сбить меня с толку в будущем, поэтому я пытаюсь избежать этого решения
Комментарии:
1. daylerees.com/codebright/controllers в маршрутизации контроллеров он говорит о контроллерах пространства имен
2. Небольшой вопрос: когда я всегда использую этот способ, мне приходится добавлять множество таких use XYZ; снова и снова, есть ли способы автоматизировать это?
3. поместите перед именем класса, например: View
4. Теперь работает отлично, спасибо! Могу ли я пометить ваш ответ как правильный?
5. Я добавил ответ, рад помочь
Ответ №1:
Как описано здесь http://daylerees.com/codebright/controllers
namespace BlogController;
class Article extends BaseController
{
public function showIndex()
{
return View::make('index');
}
}
Затем добавьте маршрут
Route::post('index', 'BlogControllerArticle@showIndex');