Réponses:
Vous pouvez utiliser la façade URL qui vous permet de faire des appels au générateur d'URL
Vous pouvez donc faire:
URL::to('/');
Vous pouvez également utiliser le conteneur d'application:
$app->make('url')->to('/');
$app['url']->to('/');
App::make('url')->to('/');
Ou injectez le 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')}}
à la vue et echo URL::to('/my-page.html');
au code
<a class="button is-primary" href="<?= URL::to('/'); ?>/atencion/reporte" target="_blank">
merci!
Laravel <5,2
echo url();
Laravel> = 5,2
echo url('/');
J'espère que cela vous aide
url('/')
cependant utiliser à la place
asset('/')
me semble mieux car il a une barre oblique de fin qui est nécessaire dans la base href.
Pour Laravel 5, j'utilise normalement:
<a href="{{ url('/path/uri') }}">Link Text</a>
Je crois comprendre que l'utilisation de la url()
fonction appelle la même chose Facade
queURL::to()
secure_url()
fonction de la même manière, ce qui produira un lien https. L'utilisation url()
sur un site https produira toujours un lien http.
url()
génère un lien http ou https basé sur le protocole de la requête. D'un autre côté secure_url()
n'existe pas. Cela a-t-il également changé dans Laravel 5.4?
secure_url()
est disponible ici: laravel.com/docs/5.4/helpers#method-secure-url
Mises à jour de la documentation de la version 2018 de Laravel (5.7) avec plus de fonctions url () et son utilisation.
Question: Pour obtenir l'URL du site dans Laravel?
C'est une sorte de question générale, donc nous pouvons la scinder.
1. Accéder à l'URL de base
// Get the base URL.
echo url('');
// Get the app URL from configuration which we set in .env file.
echo config('app.url');
2. Accéder à l'URL actuelle
// 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 des itinéraires nommés
// http://example.com/home
echo route('home');
4. URL vers les ressources (publiques)
// Get the URL to the assets, mostly the base url itself.
echo asset('');
5. URL de fichier
use Illuminate\Support\Facades\Storage;
$url = Storage::url('file.jpg'); // stored in /storage/app/public
echo url($url);
Chacune de ces méthodes est également accessible via la façade URL:
use Illuminate\Support\Facades\URL;
echo URL::to(''); // Base URL
echo URL::current(); // Current URL
Comment appeler ces fonctions d'assistance à partir du modèle de lame (vues) avec l'utilisation.
// 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') }}">
Pour le faire fonctionner avec des URL pas jolies, je devais faire:
asset('/');
<base href="{{ asset('/') }}" />
<base href="..."/>
cause de la barre oblique de fin
Laravel fournit un tas de fonctions d'assistance et pour vos besoins, vous pouvez simplement
utiliser la fonction url () de Laravel Helpers
mais dans le cas de Laravel 5.2 vous devrez utiliser url ('/')
voici la liste de toutes les autres fonctions d'assistance de Laravel
url('/css/style.css')
Une autre possibilité: {{ URL::route('index') }}
Vous pouvez également utiliser URL :: to ('/') pour afficher l'image dans Laravel. Veuillez voir ci-dessous:
<img src="{{URL::to('/')}}/images/{{ $post->image }}" height="100" weight="100">
Supposons que votre image soit stockée sous "public / images".
Pour obtenir simplement l'URL de l'application que vous avez configurée, vous pouvez utiliser:
Config::get('app.url')
app.url
il semble être une
J'ai utilisé ceci et cela a fonctionné pour moi dans Laravel 5.3.18:
<?php echo URL::to('resources/assets/css/yourcssfile.css') ?>
REMARQUE IMPORTANTE: cela ne fonctionnera que si vous avez déjà supprimé "public" de votre URL. Pour ce faire, vous pouvez consulter ce didacticiel utile .
À propos, si votre itinéraire a un nom comme:
Route::match(['get', 'post'], 'specialWay/edit', 'SpecialwayController@edit')->name('admin.spway.edit');
Vous pouvez utiliser la route()
fonction comme ceci:
<form method="post" action="{{route('admin.spway.edit')}}" class="form form-horizontal" id="form-spway-edit">
Autres fonctions utiles:
$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
Vous pouvez utiliser des façades ou une fonction d'assistance comme suit.
echo URL::to('/');
echo url();
Laravel utilisant le composant Symfony pour la requête, la logique interne de Laravel comme suit.
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;
}
J'ai trouvé un autre moyen d'obtenir simplement l'URL de base pour afficher la valeur de la variable d'environnement APP_URL
env('APP_URL')
qui affichera l'url de base comme http: // domaines_votre // votre_site_web . attention, cela suppose que vous avez défini la variable d'environnement dans le fichier .env (présent dans le dossier racine).
J'ai également utilisé la fonction base_path () et cela a fonctionné
/something/
cela créera la bonne URL.