Antworten:
Sie können die URL-Fassade verwenden, mit der Sie den URL-Generator aufrufen können
So können Sie tun:
URL::to('/');
Sie können auch den Anwendungscontainer verwenden:
$app->make('url')->to('/');
$app['url']->to('/');
App::make('url')->to('/');
Oder injizieren Sie den 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')}}
beim Betrachten und echo URL::to('/my-page.html');
beim Code
<a class="button is-primary" href="<?= URL::to('/'); ?>/atencion/reporte" target="_blank">
danke!
Laravel <5.2
echo url();
Laravel> = 5.2
echo url('/');
Hoffe das hilft dir
url('/')
jedoch stattdessen verwenden
asset('/')
scheint mir besser zu sein, weil es einen abschließenden Schrägstrich hat, der in base href notwendig ist.
Für Laravel 5 verwende ich normalerweise:
<a href="{{ url('/path/uri') }}">Link Text</a>
Ich bin der Auffassung, dass die Verwendung der url()
Funktion dasselbe aufruft Facade
wieURL::to()
secure_url()
Funktion auf die gleiche Weise verwenden. Dadurch wird ein https-Link erstellt. Bei Verwendung url()
auf einer https-Site wird weiterhin ein http-Link erstellt.
url()
wird basierend auf dem Protokoll der Anforderung ein http- oder https-Link generiert. Auf der anderen Seite secure_url()
existiert nicht. Hat sich dies auch in Laravel 5.4 geändert?
secure_url()
ist hier verfügbar: laravel.com/docs/5.4/helpers#method-secure-url
Aktualisierungen der Dokumentation zur Laravel-Version (5.7) von 2018 mit einigen weiteren url () -Funktionen und deren Verwendung.
Frage: Um die URL der Site in Laravel zu erhalten?
Dies ist eine Art allgemeine Frage, also können wir sie aufteilen.
1. Zugriff auf die Basis-URL
// Get the base URL.
echo url('');
// Get the app URL from configuration which we set in .env file.
echo config('app.url');
2. Zugriff auf die aktuelle 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. URLs für benannte Routen
// http://example.com/home
echo route('home');
4. URLs zu Assets (öffentlich)
// Get the URL to the assets, mostly the base url itself.
echo asset('');
5. Datei-URLs
use Illuminate\Support\Facades\Storage;
$url = Storage::url('file.jpg'); // stored in /storage/app/public
echo url($url);
Auf jede dieser Methoden kann auch über die URL-Fassade zugegriffen werden:
use Illuminate\Support\Facades\URL;
echo URL::to(''); // Base URL
echo URL::current(); // Current URL
Aufrufen dieser Hilfsfunktionen aus Blade-Vorlagen (Ansichten) bei Verwendung.
// 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') }}">
Damit es mit nicht hübschen URLs funktioniert, musste ich Folgendes tun:
asset('/');
<base href="{{ asset('/') }}" />
<base href="..."/>
wegen des
Laravel bietet eine Reihe von Hilfsfunktionen und für Ihre Anforderungen können Sie einfach
Verwenden Sie die Funktion url () von Laravel Helpers
Im Fall von Laravel 5.2 müssen Sie jedoch die URL ('/') verwenden.
Hier ist die Liste aller anderen Hilfsfunktionen von Laravel
url('/css/style.css')
Andere Möglichkeit: {{ URL::route('index') }}
Sie können auch URL :: to ('/') verwenden, um Bilder in Laravel anzuzeigen. Siehe unten:
<img src="{{URL::to('/')}}/images/{{ $post->image }}" height="100" weight="100">
Angenommen, Ihr Bild wird unter "public / images" gespeichert.
Um nur die von Ihnen konfigurierte App-URL abzurufen, können Sie Folgendes verwenden:
Config::get('app.url')
app.url
es scheint ein Fallback zu sein
Ich habe dies verwendet und es hat bei mir in Laravel 5.3.18 funktioniert:
<?php echo URL::to('resources/assets/css/yourcssfile.css') ?>
WICHTIGER HINWEIS: Dies funktioniert nur, wenn Sie "public" bereits von Ihrer URL entfernt haben. Schauen Sie sich dazu dieses hilfreiche Tutorial an .
Übrigens, wenn Ihre Route einen Namen hat wie:
Route::match(['get', 'post'], 'specialWay/edit', 'SpecialwayController@edit')->name('admin.spway.edit');
Sie können die route()
Funktion folgendermaßen verwenden:
<form method="post" action="{{route('admin.spway.edit')}}" class="form form-horizontal" id="form-spway-edit">
Weitere nützliche Funktionen:
$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
Sie können Fassaden oder Hilfsfunktionen wie folgt verwenden.
echo URL::to('/');
echo url();
Laravel verwendet Symfony Component for Request, interne Laravel-Logik wie folgt.
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;
}
Ich habe einen anderen Weg gefunden, um einfach die Basis-URL zum Anzeigen des Werts der Umgebungsvariablen APP_URL zu erhalten
env('APP_URL')
Daraufhin wird die Basis-URL wie http: // Domains_Ihre // Ihre_Website angezeigt . Beachten Sie, dass davon ausgegangen wird, dass Sie die Umgebungsvariable in der ENV-Datei festgelegt haben (die sich im Stammordner befindet).
Ich habe auch base_path () Funktion verwendet und es hat funktioniert
/something/
, wird die richtige URL erstellt.