首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么Laravel模型是静态的,我应该在我自己的模型中使用静态函数吗?

为什么Laravel模型是静态的,我应该在我自己的模型中使用静态函数吗?
EN

Stack Overflow用户
提问于 2020-05-04 22:13:54
回答 1查看 66关注 0票数 0

在Laravel中,模型使用静态函数,文档使用静态函数来显示模型是如何工作的。如果我为我的应用程序创建一个新的Model,它扩展了基本的Model类,但是为什么Laravel使用静态函数呢?我认为这个想法是静态的,有什么不好的吗?例如,它使测试变得更加困难?

我只是感到困惑,因为大多数东西都可以从DI容器中检索到?例如,一个名为Flight的模型,为什么不在控制器中这样使用它:

代码语言:javascript
运行
复制
namespace App\Http\Controllers;

use App\Flight;

class FlightController
{
    public __construct(Flight $flight)
    {
        $this->flight = $flight; // etc.
    }
}

而且模型甚至也不使用外观?当我创建自己的模型时,我是否应该总是使用静态函数?

EN

Stack Overflow用户

发布于 2020-05-04 23:44:01

我不确定我是否正确理解了您的问题,但我认为您将Facade误认为是静态方法。阅读此https://laravel.com/docs/7.x/facades#how-facades-work,Laravel使用神奇的方法_callStatic()来解析到实际的实例。所以它看起来是静态的,但事实并非如此。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61594299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档