Maison > développement back-end > tutoriel php > Travailler avec Uris à Laravel

Travailler avec Uris à Laravel

Emily Anne Brown
Libérer: 2025-03-05 16:37:18
original
581 Les gens l'ont consulté

Laravel 11.35 présente la classe Uri basée sur la bibliothèque PHP League URI. Uri simplifie le processus de manipulation et de traitement des URI dans les applications Laravel et fournit des fonctionnalités pratiques sur le routage nommé.

Opérations de base

La fonction centrale de la classe

Uri consiste à créer et à manipuler les chaînes URI, y compris les requêtes, les fragments et les chemins:

use Illuminate\Support\Uri;

$uri = Uri::of('https://laravel-news.com')
    ->withPath('links')
    ->withQuery(['page' => 2])
    ->withFragment('new');

(string) $url; // https://laravel-news.com/links?page=2#new

$uri->path(); // links
$uri->scheme(); // https
$uri->port(); // null
$uri->host(); // laravel-news.com
Copier après la connexion

Veuillez noter la différence entre l'obtention de la valeur URI et le décodage URI:

Working With URIs in Laravel

Opérations de base URI, valeurs et exemples de décodage.

Affaires et opérations de requête en requête

Dans Laravel, l'utilisation du sous-jacent UriQueryString pour affirmer et manipuler les paramètres de requête URI n'a jamais été aussi simple. UriQueryString La classe utilise les fonctionnalités de support InteractsWithData, qui vous fournit un tas de méthodes utiles pour affirmer les chaînes de requête:

use Illuminate\Support\Uri;

$uri = Uri::of("https://laravel-news.com")
    ->withPath("links")
    ->withQuery(["page" => 2, 'name' => ''])
    ->withFragment("new");

$uri->query()->all(); // ["page" => "2"]

$uri->query()->hasAny("page", "limit"); // true
$uri->query()->has("name"); // true
$uri->query()->has('limit'); // false
$uri->query()->missing('limit'); // true

$uri->query()->filled('page'); // true
$uri->query()->filled("name"); // false
$uri->query()->isNotFilled("name"); // true
$uri->query()->isNotFilled("page"); // false

$uri->query()->string("page", "1"); // Stringable{ value: 2 }
$uri->query()->integer("limit", 10); // 10
Copier après la connexion

Apprenez toutes les méthodes utiles fournies pour InteractsWithData pour UriQueryString Instances pour affirmer et manipuler les données de requête.

Obtenez l'instance URI à partir de routes nommées, de chemins et de demande actuel

La classe

Uri peut également créer des uris à partir de routes nommées, d'URL relatives et même de l'instance actuelle Request dans l'application:

// 使用命名路由
(string) Uri::route("dashboard"); // http://laravel.test/dashboard

// 使用根相对 URL
(string) Uri::to("/dashboard"); // http://laravel.test/dashboard

// 从当前请求
function (Request $request) {
    (string) $request->uri(); // http://laravel.test/dashboard
}
Copier après la connexion

À partir de Laravel 11.36, la classe Uri est aliasée par défaut dans les applications Laravel, ce qui signifie que vous pouvez l'utiliser sans importer l'espace de noms IlluminateSupportUri.

en savoir plus

Nous espérons que vous apprécierez l'utilisation Uri dans l'application Laravel! La classe Uri est publiée dans # 53731 de Laravel 11.35. Lisez également à propos de InteractsWithData, qui fournit de nombreuses méthodes utiles pour gérer les classes Uri, les classes courantes et les classes de demande HTTP de Laravel (via InteractsWithInput).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal