Laravel 自动加载 class 和特征之间的差异

Laravel differents between autoload class & trait

我是 Laravel 的新手,我接到了一个关于 helper (psr4 autoload class) & trait

的任务

我创建一个自动加载 class,连接到 api 并做各种事情。

我的问题是这和 trait 有什么不同?

我可以使用 trait 来做同样的事情

特征是一组特定的 re-usable 功能,您可以附加任何实体,但限制条件是它不需要依赖于您正在使用的特征的 class .

帮助文件通常包含可以在任何地方使用的全局函数,例如比较函数,甚至只是注入 IoC 的快捷方式 classes.

if (! function_exists('clock'))
{
    function clock()
    {
        if (class_exists(Clock::class)) {
            return app()['clock'];
        } else {
            return false;
        }
    }
}

特征用于创建可在多个 class 之间共享的 re-usable 代码的小项目。它们的存在通常是因为您一次只能在 PHP 中扩展一个 class。您使用了一个特征,例如,如果您有一个函数或一组函数,这些函数将在多个 class.

中有用

Laravel 使用 Composer,它使用自动加载的 PSR-4 标准(以及其他),这仅仅意味着您不必担心使用 requireinclude或其他任何使文件内容可用的东西。