Odpowiedzi:
Możesz użyć elewacji URL, która pozwala wykonywać połączenia z generatorem URL
Możesz więc zrobić:
URL::to('/');
Możesz również użyć kontenera aplikacji:
$app->make('url')->to('/');
$app['url']->to('/');
App::make('url')->to('/');
Lub wstrzyknij 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')}}
w widoku i echo URL::to('/my-page.html');
na kod
<a class="button is-primary" href="<?= URL::to('/'); ?>/atencion/reporte" target="_blank">
dzięki!
Laravel <5.2
echo url();
Laravel> = 5,2
echo url('/');
Mam nadzieję, że to ci pomoże
url('/')
zamiast tego
asset('/')
wydaje mi się lepszy, ponieważ ma końcowy ukośnik, który jest niezbędny w bazie href.
W przypadku Laravel 5 zwykle używam:
<a href="{{ url('/path/uri') }}">Link Text</a>
Rozumiem, że używanie url()
funkcji wywołuje to samo, Facade
coURL::to()
secure_url()
tej samej funkcji, a to spowoduje utworzenie łącza https. Korzystanie url()
z witryny https nadal będzie generować link http.
url()
generuje http lub https związek oparty na protokole wniosku. Z drugiej strony secure_url()
nie istnieje. Czy ta zmiana dotyczyła również Laravela 5.4?
secure_url()
jest dostępna tutaj: laravel.com/docs/5.4/helpers#method-secure-url
Aktualizacje dokumentacji wersji Laravel 2018 (5.7) z kilkoma dodatkowymi funkcjami url () i jej wykorzystaniem.
Pytanie: Aby uzyskać adres URL witryny w Laravel?
To rodzaj ogólnego pytania, więc możemy je podzielić.
1. Dostęp do podstawowego adresu URL
// Get the base URL.
echo url('');
// Get the app URL from configuration which we set in .env file.
echo config('app.url');
2. Dostęp do bieżącego adresu 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. Adresy URL nazwanych tras
// http://example.com/home
echo route('home');
4. Adresy URL do zasobów (publiczne)
// Get the URL to the assets, mostly the base url itself.
echo asset('');
5. Adresy URL plików
use Illuminate\Support\Facades\Storage;
$url = Storage::url('file.jpg'); // stored in /storage/app/public
echo url($url);
Do każdej z tych metod można również uzyskać dostęp za pomocą fasady adresu URL:
use Illuminate\Support\Facades\URL;
echo URL::to(''); // Base URL
echo URL::current(); // Current URL
Jak wywołać te funkcje pomocnicze z szablonu bloku (Widoki) przy użyciu.
// 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') }}">
Aby działało z nie ładnymi adresami URL, musiałem:
asset('/');
<base href="{{ asset('/') }}" />
<base href="..."/>
ze względu na końcowe
Laravel zapewnia wiele funkcji pomocniczych, a na twoje potrzeby możesz po prostu
użyj funkcji url () w Laravel Helpers
ale w przypadku Laravel 5.2 będziesz musiał użyć adresu URL („/”)
Oto lista wszystkich innych funkcji pomocniczych Laravela
url('/css/style.css')
Inna możliwość: {{ URL::route('index') }}
Możesz także użyć URL :: do ('/'), aby wyświetlić obraz w Laravel. Patrz poniżej:
<img src="{{URL::to('/')}}/images/{{ $post->image }}" height="100" weight="100">
Załóżmy, że Twój obraz jest przechowywany jako „public / images”.
Użyłem tego i zadziałało to dla mnie w Laravel 5.3.18:
<?php echo URL::to('resources/assets/css/yourcssfile.css') ?>
WAŻNA UWAGA: Działa to tylko wtedy, gdy usunąłeś już „public” ze swojego adresu URL. Aby to zrobić, możesz sprawdzić ten pomocny samouczek .
Nawiasem mówiąc, jeśli twoja trasa ma nazwę:
Route::match(['get', 'post'], 'specialWay/edit', 'SpecialwayController@edit')->name('admin.spway.edit');
Możesz użyć takiej route()
funkcji:
<form method="post" action="{{route('admin.spway.edit')}}" class="form form-horizontal" id="form-spway-edit">
Inne przydatne funkcje:
$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
Możesz użyć elewacji lub funkcji pomocniczej zgodnie z poniższym opisem.
echo URL::to('/');
echo url();
Laravel przy użyciu komponentu Symfony do żądania, wewnętrzna logika Laravela zgodnie z poniższym opisem.
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;
}
Znalazłem inny sposób, aby po prostu uzyskać adres URL do wyświetlania wartości zmiennej środowiskowej APP_URL
env('APP_URL')
który wyświetli podstawowy adres URL, taki jak http: // domains_your // twoja_strona internetowa . uwaga: zakłada się, że zmienna środowiskowa została ustawiona w pliku .env (który znajduje się w folderze głównym).
Użyłem również fusion base_path () i zadziałało
/something/
nim zainstalowany , zrobi właściwy adres URL.