为什么要传入参数 Topic $topic ?

教程里在 Topic 模型里添加了排序以后,去 TopicsControllerCategoriesController 里添加排序方法为什么要传入参数:Topic $topic 呢?

file

我试了一下,不传入参数也是可以的,想知道和教程中那样写有什么区别。

file

小时候,幸福是一件很简单的事;长大了,简单是一件很幸福的事。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

都可以。
一个是通过类的实例化,然后调用方法。[教程的做法]
另一个是直接通过类的静态方法的调用。[你的做法]

当然要补充一句,这一切都是建立在Laravel使用了魔术方法实现了类的静态方法对非静态方法的调用。
你可以看看Model.php的最后几行,见以下代码。

    public static function __callStatic($method, $parameters)
    {
        return (new static)->$method(...$parameters);
    }
5年前 评论
讨论数量: 3

都可以。
一个是通过类的实例化,然后调用方法。[教程的做法]
另一个是直接通过类的静态方法的调用。[你的做法]

当然要补充一句,这一切都是建立在Laravel使用了魔术方法实现了类的静态方法对非静态方法的调用。
你可以看看Model.php的最后几行,见以下代码。

    public static function __callStatic($method, $parameters)
    {
        return (new static)->$method(...$parameters);
    }
5年前 评论

教程可能会有些许错误,你只需要理解实例化 Topic 这个类可以干什么就可以了。

5年前 评论
月光

@zssen 我倒不认为这是错误,都跑得通,因为前面学习第一册的时候,了解到教程里有许多地方会采用最佳实践,所以很多地方都比较留心

5年前 评论

都可以。
一个是通过类的实例化,然后调用方法。[教程的做法]
另一个是直接通过类的静态方法的调用。[你的做法]

当然要补充一句,这一切都是建立在Laravel使用了魔术方法实现了类的静态方法对非静态方法的调用。
你可以看看Model.php的最后几行,见以下代码。

    public static function __callStatic($method, $parameters)
    {
        return (new static)->$method(...$parameters);
    }
5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!