问题很简单,但答案似乎很难得到。在Codeigniter中,我可以加载URL助手,然后简单地执行

echo base_url();

获取我网站的URL。在Laravel中也有类似的情况吗?


当前回答

另一种可能:{{URL::route('index')}}

其他回答

您可以使用URL facade,它允许您调用URL生成器

所以你可以这样做:

URL::to('/');

你也可以使用应用程序容器:

$app->make('url')->to('/');
$app['url']->to('/');
App::make('url')->to('/');

或者注入UrlGenerator:

<?php
namespace Vendor\Your\Class\Namespace;

use Illuminate\Routing\UrlGenerator;

class Classname
{
    protected $url;

    public function __construct(UrlGenerator $url)
    {
        $this->url = $url;
    }

    public function methodName()
    {
        $this->url->to('/');
    }
}

您也可以使用URL::to('/')在Laravel中显示图像。请参阅以下内容:

<img src="{{URL::to('/')}}/images/{{ $post->image }}" height="100" weight="100"> 

假设,您的图像存储在“public/images”下。

Laravel < 5.2

echo url();

Laravel >= 5.2

echo url('/');

我用了这个,它在Laravel 5.3.18中为我工作:

<?php echo URL::to('resources/assets/css/yourcssfile.css') ?>

重要提示:这只会在你已经从你的URL中删除“公共”时起作用。要做到这一点,您可以查看这个有用的教程。

我还使用了base_path()函数,它为我工作。