在laravel中创建模型对象时使用()是什么?

时间:2014-02-07 09:50:25

标签: php laravel

通常我会用它来使用模型来获取数据......

$site = new Site();
$sites = $site->getAll();

我从来没有真正喜欢这种方式......我正在获得复数“网站”所以总是讨厌使用单数$ site-> getAll();一直在寻找更好的方法,或重命名模型和东西。

无论如何,我偶然发现了这一点,使用with()来声明网站,然后getAll:

$sites = with(new Site)->getAll();

我之前从未见过“和”。我曾尝试搜索Google,StackExchange,PHP.net,但无法找到任何内容(不确定Google是否会排除“with”这个词!)。

所以我想知道,是什么,它有什么作用?它看起来更好,更短,允许我不使用单个变量$ site来获取我想用来获取多个站点的对象!

由于

1 个答案:

答案 0 :(得分:3)

在\ Illuminate \ Support \ Helpers.php

中找到
if ( ! function_exists('with'))
{
    /**
     * Return the given object. Useful for chaining.
     *
     * @param  mixed  $object
     * @return mixed
     */
    function with($object)
    {
        return $object;
    }
}

docblock评论几乎总结了其目的