Câu trả lời:
Bạn có thể sử dụng mặt tiền URL cho phép bạn thực hiện cuộc gọi đến trình tạo URL
Vì vậy, bạn có thể làm:
URL::to('/');
Bạn cũng có thể sử dụng bộ chứa ứng dụng:
$app->make('url')->to('/');
$app['url']->to('/');
App::make('url')->to('/');
Hoặc tiêm 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')}}
tại chế độ xem và echo URL::to('/my-page.html');
mã
<a class="button is-primary" href="<?= URL::to('/'); ?>/atencion/reporte" target="_blank">
cảm ơn!
Ấu trùng <5.2
echo url();
Ấu trùng> = 5,2
echo url('/');
Hy vọng điều này sẽ giúp bạn
url('/')
thay vì tuy nhiên
asset('/')
có vẻ tốt hơn đối với tôi bởi vì nó có dấu gạch chéo cần thiết trong cơ sở.
Đối với Laravel 5 tôi thường sử dụng:
<a href="{{ url('/path/uri') }}">Link Text</a>
Tôi hiểu rằng việc sử dụng url()
hàm đang gọi giống Facade
nhưURL::to()
secure_url()
chức năng theo cách tương tự và điều này sẽ tạo ra một liên kết https. Sử dụng url()
trên một trang web https vẫn sẽ tạo ra một liên kết http.
url()
tạo ra một liên kết http hoặc https dựa trên giao thức của yêu cầu. Mặt khác secure_url()
không tồn tại. Có phải điều này cũng thay đổi trong Laravel 5.4?
secure_url()
có sẵn ở đây: laravel.com/docs/5.4/helpers#method-secure-url
Cập nhật từ tài liệu phát hành Laravel (5.7) 2018 với một số chức năng url () khác và đó là cách sử dụng.
Câu hỏi: Để lấy URL của trang web trong Laravel?
Đây là một loại câu hỏi chung, vì vậy chúng tôi có thể chia nó.
1. Truy cập URL cơ sở
// Get the base URL.
echo url('');
// Get the app URL from configuration which we set in .env file.
echo config('app.url');
2. Truy cập URL hiện tại
// 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 cho các tuyến được đặt tên
// http://example.com/home
echo route('home');
4. URL tới tài sản (công khai)
// Get the URL to the assets, mostly the base url itself.
echo asset('');
5. URL tệp
use Illuminate\Support\Facades\Storage;
$url = Storage::url('file.jpg'); // stored in /storage/app/public
echo url($url);
Mỗi phương thức này cũng có thể được truy cập thông qua mặt tiền URL:
use Illuminate\Support\Facades\URL;
echo URL::to(''); // Base URL
echo URL::current(); // Current URL
Cách gọi các hàm Helper này từ Mẫu lưỡi cắt (Lượt xem) với cách sử dụng.
// 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') }}">
Để làm cho nó hoạt động với các URL không đẹp, tôi phải làm:
asset('/');
<base href="{{ asset('/') }}" />
<base href="..."/>
vì dấu gạch chéo
Laravel cung cấp một loạt các hàm trợ giúp và theo yêu cầu của bạn, bạn có thể chỉ cần
sử dụng chức năng url () của Trình trợ giúp Laravel
nhưng trong trường hợp của Laravel 5.2, bạn sẽ phải sử dụng url ('/')
đây là danh sách tất cả các chức năng trợ giúp khác của Laravel
url('/css/style.css')
Khả năng khác: {{ URL::route('index') }}
Bạn cũng có thể sử dụng URL :: to ('/') để hiển thị hình ảnh trong Laravel. Vui lòng xem bên dưới:
<img src="{{URL::to('/')}}/images/{{ $post->image }}" height="100" weight="100">
Giả sử rằng, hình ảnh của bạn được lưu trữ trong "công khai / hình ảnh".
Để chỉ nhận url ứng dụng, bạn đã định cấu hình, bạn có thể sử dụng:
Config::get('app.url')
app.url
nó dường như là một dự phòng
Tôi đã sử dụng cái này và nó hoạt động với tôi trong Laravel 5.3.18:
<?php echo URL::to('resources/assets/css/yourcssfile.css') ?>
LƯU Ý QUAN TRỌNG: Điều này sẽ chỉ hoạt động khi bạn đã xóa "công khai" khỏi URL của mình. Để làm điều này, bạn có thể xem hướng dẫn hữu ích này .
Nhân tiện, nếu tuyến đường của bạn có một tên như:
Route::match(['get', 'post'], 'specialWay/edit', 'SpecialwayController@edit')->name('admin.spway.edit');
Bạn có thể sử dụng route()
chức năng như thế này:
<form method="post" action="{{route('admin.spway.edit')}}" class="form form-horizontal" id="form-spway-edit">
Các chức năng hữu ích khác:
$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
Bạn có thể sử dụng mặt tiền hoặc chức năng trợ giúp theo sau.
echo URL::to('/');
echo url();
Laravel sử dụng Thành phần Symfony cho Yêu cầu, logic bên trong của Laravel theo sau.
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;
}
Tôi đã tìm thấy một cách khác để chỉ cần lấy url cơ sở để hiển thị giá trị của biến môi trường APP_URL
env('APP_URL')
sẽ hiển thị url cơ sở như http: // domain_your // của bạn_website . hãy cẩn thận, nó giả sử rằng bạn đã đặt biến môi trường trong tệp .env (có trong thư mục gốc).
tôi cũng đã sử dụng phép nối cơ sở_path () và nó hoạt động
/something/
đó sẽ tạo đúng URL.