Answers:
您可以使用URL门面,它使您可以调用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('/my-page.html')}}
查看并查看echo URL::to('/my-page.html');
代码
<a class="button is-primary" href="<?= URL::to('/'); ?>/atencion/reporte" target="_blank">
,很好的处理程序: ,谢谢!
Laravel <5.2
echo url();
Laravel> = 5.2
echo url('/');
希望这对您有帮助
url('/')
不过,您可以使用
asset('/')
对我来说似乎更好,因为它在基本href中具有结尾的斜杠。
对于Laravel 5,我通常使用:
<a href="{{ url('/path/uri') }}">Link Text</a>
我的理解是,使用url()
函数调用是相同Facade
的URL::to()
secure_url()
按相同方式使用此功能,这将产生一个https链接。url()
在https站点上使用仍将产生http链接。
url()
根据请求的协议生成一个http或https链接。另一方面secure_url()
不存在。Laravel 5.4中也有这种变化吗?
secure_url()
可以在此处找到5.4 Laravel文档:laravel.com/docs/5.4/helpers#method-secure-url
自2018年Laravel版本(5.7)文档以来的更新,其中包含更多的url()函数及其用法。
问题:要在Laravel中获取站点的URL?
这是一个普遍的问题,因此我们可以将其拆分。
1.访问基本URL
// Get the base URL.
echo url('');
// Get the app URL from configuration which we set in .env file.
echo config('app.url');
2.访问当前URL
// Get the current URL without the query string.
echo url()->current();
// Get the current URL including the query string.
echo url()->full();
// Get the full URL for the previous request.
echo url()->previous();
3.命名路由的URL
// http://example.com/home
echo route('home');
4.资产网址(公开)
// Get the URL to the assets, mostly the base url itself.
echo asset('');
5.文件网址
use Illuminate\Support\Facades\Storage;
$url = Storage::url('file.jpg'); // stored in /storage/app/public
echo url($url);
还可以通过URL外观访问以下每种方法:
use Illuminate\Support\Facades\URL;
echo URL::to(''); // Base URL
echo URL::current(); // Current URL
如何从刀片模板(视图)中调用这些帮助程序功能。
// http://example.com/login
{{ url('/login') }}
// http://example.com/css/app.css
{{ asset('css/app.css') }}
// http://example.com/login
{{ route('login') }}
// usage
<!-- Styles -->
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
<!-- Login link -->
<a class="nav-link" href="{{ route('login') }}">Login</a>
<!-- Login Post URL -->
<form method="POST" action="{{ url('/login') }}">
为了使其能够与非精美网址配合使用,我必须要做的是:
asset('/');
<base href="{{ asset('/') }}" />
<base href="..."/>
由于正斜杠,它正好适合
Laravel提供了许多辅助功能,您可以根据需要简单地
使用Laravel Helpers的url()函数
但是对于Laravel 5.2,您将不得不使用url('/')
这是Laravel其他所有辅助功能的列表
url('/css/style.css')
您还可以使用URL :: to('/')在Laravel中显示图像。请看下面:
<img src="{{URL::to('/')}}/images/{{ $post->image }}" height="100" weight="100">
假设您的图像存储在“ public / images”下。
要获取您配置的应用程序网址,可以使用:
Config::get('app.url')
app.url
它似乎是一个后备广告
顺便说一句,如果您的路线名称如下:
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
您可以按照以下方式使用立面或辅助功能。
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;
}
我找到了另一种方法来获取基本URL以显示环境变量APP_URL的值
env('APP_URL')
它将显示基本网址,例如http:// domains_your // yours_website。注意,它假定您已经在.env文件(位于根文件夹中)中设置了环境变量。
/something/
其中,它将提供正确的URL。