Тип Подсказки Красноречивые Модели

Я пытаюсь написать хороший код, и часть этого — намеки на типы, чтобы упростить работу в будущем и повысить ожидания.

Это может показаться немного надуманным, но для меня это скорее подтверждение концепции.

Я пишу класс для разбивки файла TSV на вкладки и вставки в мою модель. В моем конструкторе я просил:

Illuminate\Database\Eloquent\Model

На что я перешел:

new \App\Model()

И, наконец, ответ об ошибке:

instance of App\Model given

Понятно, что я сделал что-то не так, но я не хочу принудительно использовать App \ Model, как я могу вообще попросить красноречивую модель?

Изменить для получения дополнительной информации:

Чтобы было понятнее, я использую Laravel 5, модели создаются с помощью artisan make: model. Конструктор выглядит следующим образом:

function __construct ($resource, Illuminate\Database\Eloquent\Model $model, $skip = 0)

И модель, которую я использую (для моей таблицы фильмов):

use Illuminate\Database\Eloquent\Model;

class Movie extends Model {

4

Решение

В подсказке к вашему типу предваряйте FQCN обратной косой чертой:

function __construct ($resource, \Illuminate\Database\Eloquent\Model $model, $skip = 0)

Либо это, либо добавить use утверждение для вашего класса:

use Illuminate\Database\Eloquent\Model;

class MyClass {
function __construct ($resource, Model $model, $skip = 0) {
//
}
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]