web-dev-qa-db-fra.com

étend le modèle == étend Eloquent?

Tous les exemples de modèles Eloquent dans Laravel 4 sont étendus, mais lorsque vous générez un modèle dans Laravel 5, il est dit qu'ils sont étendus, sont-ils identiques?

Laravel 4

<?php

class User extends Eloquent {

    //Code

}

Laravel 5

<?php

class User extends Model {

    //Code

}

Le Laravel 5 docs dit:

Définir un modèle éloquent

class User extends Model {}
17
Jonathan Solorzano

Oui, ils sont pareils. Laravel 4 utilise l'alias de classe pour mapper Illuminate\Database\Eloquent\Model à Eloquent. Vous pouvez voir dans le fichier app/config/app.php:

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

Laravel 5 utilise namespacing à la place. Donc, en haut de la classe de modèle, vous verrez cette ligne:

use Illuminate\Database\Eloquent\Model;
17
Patrick Stephan

utilisé...

use Illuminate\Database\Eloquent\Model;

étendre le modèle

J'utilise le fichier _ide_helper.php De laravel-ide-helper de barryvdh

La sous-classe est également appelée Eloquent et s’étend au modèle.

Donc, si j'étend ma propre classe de modèle à Eloquent, le IDE connaît toutes les fonctions, comme MyModelClass :: find. Peut-être qu'il y a une autre façon de le faire, mais ça marche vraiment pour moi.

0
redestructa