2015-07-24 7 views
2

Я пытаюсь узнать, как использовать Laravel 5, но я столкнулся с проблемой. Я создал следующий код до сих пор:

под app/HTTP/routes.php:
Laravel: возвращает вид с контроллера

<?php 

Route::get('/', '[email protected]'); 

создал свой собственный MyController.php файл под app\Http\Controllers и добавил следующий код в контроллер:

<?php 

namespace App\Http\Controllers; 

use Illuminate\Routing\Controller as BaseController; 

class MyController extends BaseController 
{ 
    public function home() 
    { 
     $name = "John Doe"; 
     return View::make("index")->with("name", $name); 
    } 
} 


Когда я запускаю приложение, я получаю ошибку:

FatalErrorException in MyController.php line 12: 
Class 'App\Http\Controllers\View' not found 


Что я делаю неправильно?

ответ

4

Изменить

return View::make("index")->with("name", $name); 

Для

return \View::make("index")->with("name", $name); 

или даже лучше

return view("index",compact('name')); 

UPDATE

View - это Facade, класс оболочки и view() - вспомогательная функция, которая возвращает экземпляр view.

+0

Работает отлично. Я буду принимать ваш ответ через 9 минут (не разрешено принимать его прямо сейчас). Еще один быстрый вопрос: какая разница между view и View :: make –

+0

'View :: make()' от Laravel 4, это изменилось в 5 на функцию 'view()' helper, поскольку использование фасадов не рекомендуется, хотя вы все еще можете использовать их сейчас. Я ожидаю, что в какой-то момент они станут устаревшими, если их еще нет. – Wader

+0

@ n0t_a_nUmb3R- Я обновил свой ответ соответствующими ссылками. –

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