In Laravel Модели используют функции stati c, а документация использует функции stati c, чтобы показать, как работают Модели. Если я создаю новую модель для своего приложения, она расширяет базовый класс Model, но почему Laravel использует функции stati c? Я думал, что идея Stati c что-нибудь плохое? Например, это затрудняет тестирование?
Я просто запутался, так как большинство вещей можно извлечь из контейнера DI? Например, модель под названием Flight, почему она не используется в контроллере следующим образом:
namespace App\Http\Controllers;
use App\Flight;
class FlightController
{
public __construct(Flight $flight)
{
$this->flight = $flight; // etc.
}
}
И модели даже не используют Фасад? Когда я создаю свои собственные модели, я должен всегда использовать функции stati c?