Extends Model == расширяет яркость?

Все примеры Eloquent Models в 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 {}

Ответы

Ответ 1

Да, они одинаковы. 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;

Ответ 2

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

use Illuminate\Database\Eloquent\Model;

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

Ответ 3

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

Подкласс также называется Eloquent и продолжается до Model.

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