2015-08-05 4 views
15

Все примеры ярких моделей в Laravel 4 распространяются на Eloquent, но когда вы создаете модель в Laravel 5, она говорит, что Extends Model они одинаковы?расширяет модель == расширяет яркость?

Laravel 4

<?php 

class User extends Eloquent { 

    //Code 

} 

Laravel 5

<?php 

class User extends Model { 

    //Code 

} 

Laravel 5 docs говорит:

Определение красноречивым Модель

class User extends Model {} 

ответ

14

Да, они такие же. Laravel 4 использует Class Aliasing для сопоставления Illuminate\Database\Eloquent\Model по Eloquent. Вы можете увидеть в файле app/config/app.php:

'Eloquent'   => 'Illuminate\Database\Eloquent\Model', 

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

use Illuminate\Database\Eloquent\Model; 
1

используется ...

use Illuminate\Database\Eloquent\Model; 

расширить модель

0

Я использую файл _ide_helper.php от laravel-ide-помощника barryvdh

Подкласс также называется «Красноречивый» и распространяется на модель.

Так что, если я расширяю свой класс модели до Красноречивого, IDE знает все функции, такие как MyModelClass :: find. Возможно, есть еще один способ сделать это, но это действительно работает для меня.

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