Миграция Laravel с 4.2 на 5.1 Ошибки

Мне трудно перенести файлы Laravel 4.2 в Laravel 5.1. Я знаю, что это работает со многими namespacing. Так что, вероятно, большинство моих ошибок было бы из-за проблем с namespace. Но я немного новичок в namespace вещах. Итак, у меня есть некоторые проблемы. Я надеюсь, что это также принесет пользу некоторым другим пользователям.

Composer.json файл:

   "classmap": [
        "database",
        "app/Http/Controllers",
        "app/Models"
    ],
  1. Согласно документации по обновлению Laravel 5.1, я создал структуру App\Models для файла Models.

Я получаю эту ошибку, связанную с Models. Где Backers.php и User это models. Что namespace я должен предоставить, чтобы избежать этого?

FatalErrorException в строке 16 Backers.php: класс «Пользователь» не найден

  1. Я использовал User::find($id) в некоторых Views и Controllers. Вместо того, чтобы всегда звонить \App\User::find($id), есть ли другой способ решить эту проблему?

  2. displayLesson — это имя route, и иногда я получаю сообщение об ошибке, например

Приложение\Http\Controllers\displayLesson не найдено.

Как мне подойти к этим проблемам?


person user1012181    schedule 29.07.2015    source источник


Ответы (1)


Я не понимаю вашей точной проблемы, но вы можете написать «использовать .. как ...» в верхней части класса после пространства имен имя класса, которое вы часто используете, чтобы не писать App\User

пространство имен App\http\superImportantController Использовать App\User как пользователя;

Или не очень хорошая практика, но отнимающая много времени, это добавить вашу модель в фасады в app.php

Тем не менее, я думаю, что лучше всего использовать правильное пространство имен, чтобы оно соответствовало psr-7.

person Antoine Raoul Iscaros    schedule 29.07.2015
comment
Как получить доступ к функции модели в представлении? (например: User::find(1)) - person user1012181; 29.07.2015
comment
вы никогда не должны использовать функцию модели в представлении, она должна быть в контроллере и передавать ее через параметр данных в вашем контроллере data = [user=›App\User::find(1)]; view::make('имя представления',данные); в представлении {{$user-›name}} - person Antoine Raoul Iscaros; 29.07.2015