问题很简单,但答案似乎很难得到。在Codeigniter中,我可以加载URL助手,然后简单地执行
echo base_url();
获取我网站的URL。在Laravel中也有类似的情况吗?
问题很简单,但答案似乎很难得到。在Codeigniter中,我可以加载URL助手,然后简单地执行
echo base_url();
获取我网站的URL。在Laravel中也有类似的情况吗?
当前回答
另一种可能:{{URL::route('index')}}
其他回答
我用了这个,它在Laravel 5.3.18中为我工作:
<?php echo URL::to('resources/assets/css/yourcssfile.css') ?>
重要提示:这只会在你已经从你的URL中删除“公共”时起作用。要做到这一点,您可以查看这个有用的教程。
对于Laravel 5,我通常使用:
<a href="{{ url('/path/uri') }}">Link Text</a>
我的理解是使用url()函数调用与url::to()相同的Facade。
顺便说一下,如果你的路线有一个这样的名字:
Route::match(['get', 'post'], 'specialWay/edit', 'SpecialwayController@edit')->name('admin.spway.edit');
你可以像这样使用route()函数:
<form method="post" action="{{route('admin.spway.edit')}}" class="form form-horizontal" id="form-spway-edit">
其他有用功能:
$uri = $request->path();
$url = $request->url();
$url = $request->fullUrl();
asset()
app_path();
// ...
https://github.com/laravel/framework/blob/5.4/src/Illuminate/Foundation/helpers.php
我还使用了base_path()函数,它为我工作。
您可以按照以下方法使用facade或helper函数。
echo URL::to('/');
echo url();
Laravel使用Symfony组件进行请求,Laravel内部逻辑按 追随者。
namespace Symfony\Component\HttpFoundation;
/**
* {@inheritdoc}
*/
protected function prepareBaseUrl()
{
$baseUrl = $this->server->get('SCRIPT_NAME');
if (false === strpos($this->server->get('REQUEST_URI'), $baseUrl)) {
// assume mod_rewrite
return rtrim(dirname($baseUrl), '/\\');
}
return $baseUrl;
}