【发布时间】:2020-05-04 23:44:01
【问题描述】:
在 Laravel 模型中使用静态函数,文档使用静态函数来展示模型的工作方式。如果我为我的应用程序创建一个新模型,它会扩展基本模型类,但为什么 Laravel 使用静态函数?我认为这个想法是静态的,有什么不好的吗?例如,它使测试变得更加困难?
我很困惑,因为大多数东西都可以从 DI 容器中检索?比如一个叫Flight的Model,为什么不在controller里面这样使用:
namespace App\Http\Controllers;
use App\Flight;
class FlightController
{
public __construct(Flight $flight)
{
$this->flight = $flight; // etc.
}
}
而且模型甚至不使用外观?当我创建自己的模型时,我是否也总是使用静态函数?
【问题讨论】: