Laravel在autoload class& amp;特征

时间:2017-02-08 10:13:34

标签: php laravel model-view-controller traits

我是Laravel的新手,我得到了一个关于助手(psr4 autoload class)&特质

我创建了一个自动加载类,连接到api并执行各种操作。

我的问题是这与特质有什么不同?

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

2 个答案:

答案 0 :(得分:1)

特征是一组特定的可重复使用的功能,您可以将任何实体附加到您需要的限制之外,它不需要您使用该特征的类所依赖。

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

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

答案 1 :(得分:1)

特征用于创建可重复使用的代码的小项,这些代码可以在多个类之间共享。它们通常存在是因为您只能在PHP中扩展一个类。你使用一个特征,例如,你有一个函数或一组函数,它们可以在多个类中使用。

Laravel使用的是使用PSR-4自动加载标准的Composer(其中包括),这只是意味着您不必担心使用requireinclude或其他任何内容使文件的内容可用。