Jawaban:
Anda dapat menggunakan fasad URL yang memungkinkan Anda melakukan panggilan ke pembuat URL
Jadi kamu bisa melakukan:
URL::to('/');
Anda juga dapat menggunakan wadah aplikasi:
$app->make('url')->to('/');
$app['url']->to('/');
App::make('url')->to('/');
Atau menyuntikkan 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')}}
saat melihat dan echo URL::to('/my-page.html');
pada kode
<a class="button is-primary" href="<?= URL::to('/'); ?>/atencion/reporte" target="_blank">
terima kasih!
Laravel <5.2
echo url();
Laravel> = 5.2
echo url('/');
Semoga ini bisa membantu Anda
url('/')
sebagai gantinya
asset('/')
tampaknya lebih baik bagi saya karena memiliki garis miring yang diperlukan dalam basis href.
Untuk Laravel 5 saya biasanya menggunakan:
<a href="{{ url('/path/uri') }}">Link Text</a>
Saya memahami bahwa menggunakan url()
fungsi ini memanggil sama Facade
denganURL::to()
secure_url()
fungsinya dengan cara yang sama, dan ini akan menghasilkan tautan https. Menggunakan url()
di situs https masih akan menghasilkan tautan http.
url()
menghasilkan tautan http atau https berdasarkan protokol permintaan. Di sisi lain secure_url()
tidak ada. Apakah ini juga berubah dalam Laravel 5.4?
secure_url()
tersedia di sini: laravel.com/docs/5.4/helpers#method-secure-url
Pembaruan dari 2018 Laravel release (5.7) dokumentasi dengan beberapa lebih banyak fungsi url () dan penggunaannya.
Pertanyaan: Untuk mendapatkan URL situs di Laravel?
Ini semacam pertanyaan umum, jadi kita bisa membaginya.
1. Mengakses URL Base
// Get the base URL.
echo url('');
// Get the app URL from configuration which we set in .env file.
echo config('app.url');
2. Mengakses URL Saat Ini
// 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 Untuk Rute Bernama
// http://example.com/home
echo route('home');
4. URL Ke Aset (Publik)
// Get the URL to the assets, mostly the base url itself.
echo asset('');
5. File URL
use Illuminate\Support\Facades\Storage;
$url = Storage::url('file.jpg'); // stored in /storage/app/public
echo url($url);
Masing-masing metode ini juga dapat diakses melalui fasad URL:
use Illuminate\Support\Facades\URL;
echo URL::to(''); // Base URL
echo URL::current(); // Current URL
Cara memanggil fungsi Helper ini dari Templat Blade (Tampilan) dengan penggunaan.
// 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') }}">
Agar berfungsi dengan URL yang tidak cantik, saya harus melakukan:
asset('/');
<base href="{{ asset('/') }}" />
<base href="..."/>
karena trailing slash
Laravel menyediakan banyak fungsi pembantu dan untuk kebutuhan Anda, Anda dapat melakukannya dengan mudah
gunakan fungsi url () dari Laravel Helpers
tetapi dalam kasus Laravel 5.2 Anda harus menggunakan url ('/')
di sini adalah daftar semua fungsi pembantu Laravel lainnya
url('/css/style.css')
Kemungkinan lain: {{ URL::route('index') }}
Anda juga dapat menggunakan URL :: to ('/') untuk menampilkan gambar di Laravel. Silahkan lihat di bawah ini:
<img src="{{URL::to('/')}}/images/{{ $post->image }}" height="100" weight="100">
Asumsikan, gambar Anda disimpan di bawah "publik / gambar".
Untuk hanya mendapatkan url aplikasi, yang Anda konfigurasikan dapat Anda gunakan:
Config::get('app.url')
app.url
tampaknya mundur
Saya menggunakan ini dan itu bekerja untuk saya di Laravel 5.3.18:
<?php echo URL::to('resources/assets/css/yourcssfile.css') ?>
CATATAN PENTING: Ini hanya akan berfungsi bila Anda telah menghapus "publik" dari URL Anda. Untuk melakukan ini, Anda dapat melihat tutorial bermanfaat ini .
Omong-omong, jika rute Anda memiliki nama seperti:
Route::match(['get', 'post'], 'specialWay/edit', 'SpecialwayController@edit')->name('admin.spway.edit');
Anda dapat menggunakan route()
fungsi seperti ini:
<form method="post" action="{{route('admin.spway.edit')}}" class="form form-horizontal" id="form-spway-edit">
Fungsi berguna lainnya:
$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
Anda dapat menggunakan fasad atau fungsi pembantu sesuai yang berikut.
echo URL::to('/');
echo url();
Laravel menggunakan Komponen Symfony untuk Permintaan, Laravel logika internal sesuai berikut.
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;
}
Saya menemukan cara lain untuk mendapatkan url dasar untuk menampilkan nilai variabel lingkungan APP_URL
env('APP_URL')
yang akan menampilkan url dasar seperti http: // domains_your // milikmu_website . berhati-hatilah karena menganggap bahwa Anda telah mengatur variabel lingkungan dalam file .env (yang ada di folder root).
saya juga menggunakan base_path () fungsinya dan berhasil
/something/
akan membuat URL yang benar.