Контроллеры Laravel не работают

1

Я изучаю laravel, но это не работает хорошо... Я установил свой маршрут в routes.php:

Route::get('/','WelcomeController@index');

Тогда я, очевидно, сделал контроллер под названием "WelcomeController", и он выглядит так:

<?php
class WelcomeController extends BaseController
{
 public function index() 
 {
    return view ('index');
 }

}
?>

И затем я сделал вид, называемый индексом, только с некоторым текстом html.

Но когда я перехожу к localhost/public, я получаю сообщение об ошибке:

FatalErrorException in WelcomeController.php line 3:
Class 'BaseController' not found

И когда я говорю:

class WelcomeController extends Illuminate\Routing\Controller

Это не работает!

Что я делаю не так.

  • 0
    Похоже, вы пропустили объявление пространства имен, в котором находится ваш контроллер. По крайней мере, если вы будете следовать структуре по умолчанию. Добавить namespace App\Http\Controllers; в верхней части вашего файла.
  • 0
    Спасибо, это работает сейчас. Но когда я добавляю другой маршрут «Контакт», он не найден в localhost / public / contact? Но я делаю это точно так же?
Показать ещё 4 комментария
Теги:
laravel-5

2 ответа

1

Ты должен попытаться

use Illuminate\Routing\Controller as BaseController;

в верхней части файла вашего контроллера. Это действует как импорт

  • 0
    Спасибо за ваш ответ. Теперь он говорит мне: «ReflectionException в строке Container.php 736: класс App \ Http \ Controllers \ WelcomeController не существует»
0

Два предложения:

  1. Запустите php composer dump-autoload чтобы убедиться, что сопоставления классов свежи.

  2. Добавить use Controller; в вашем блоке использования. Измените свой контроллер, чтобы расширить его. Пример:

class WelcomeController extends Controller {...

Controller - это интерфейс в Laravel 4. *

В Laravel 5 используйте вместо этого: use App\Http\Controllers\Controller; согласно документации здесь: http://laravel.com/docs/5.0/controllers

  • 0
    Я добавил «использовать» и обновил все с помощью композитора, но все еще не работает?
  • 0
    Теперь он говорит: класс App \ Http \ Controllers \ WelcomeController не существует
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню