Table des matières
home
Maison développement back-end tutoriel php Laravel 514 + Bootstrap 334 笔记二:Laravel 路由

Laravel 514 + Bootstrap 334 笔记二:Laravel 路由

Jul 30, 2016 pm 01:31 PM
function localhost return route

1 路由机制

MVC中路由是一个非常重要的功能,其作用是:
A.根据用户访问(URL)匹配传入的请求及请求附带的参数;
B.调用请求映射Controller的Action方法,并把参数传入;
C.返回Action方法处理结果;
下图以简单的形式表示一个用户请求:


2 Laravel中的路由

在Laravel 5.1.4中,路由配置文件是 app/Http/routes.php。

2.1 直接返回字符串的路由

在原有的代码后面追加如下代码段:

Route::get('/hw', function () {
    return 'Hello World';
});
Copier après la connexion
打开浏览器访问:http://localhost:801/hw,如下图示:


2.2 返回视图的路由

在上面的代码中再追加如下代码段:

Route::get('/home', function () {
    return view('home');
});
Copier après la connexion
在目录resources/views下创建视图文件:home.php,内容如下:

<h1 id="home">home</h1>

Copier après la connexion
打开浏览器访问:http://localhost:801/home


如果上例的代码中需要向视图页传递参数怎么办呢?修改我们的路由代码:

Route::get('/home', function () {
    return view('home', ['name' => '张三']);
});
Copier après la connexion
修改视图代码:

[<?php echo $name; ?>],您好!

Copier après la connexion
再看看访问的效果:

如果视图太多,一般是按模块甚至按功能存放的,在resources/views目录下依次新建目录:public/demo,然后把home.php移到该目录中。

修改上例中的路由代码为:

Route::get('/home', function () {
    return view('public.demo.home', ['name' => '张三']);
});
Copier après la connexion
再次访问还是能正常打开页面的。

2.3 路由参数

在前文已经说过,路由可以匹配出用户的请求参数,那如何匹配呢?在上例的路由文件中追加代码段:

Route::get('user/{name}', function($name) {
    return '用户姓名:'.$name;
});
Copier après la connexion
打开浏览器访问:http://localhost:801/user/jack

那如果是两个参数怎么办呢?修改路由代码:

Route::get('user/{name}/{age}', function($name,$age) {
    return '用户姓名:'.$name.',年龄:'.$age;
});
Copier après la connexion
打开浏览器访问:http://localhost:801/user/jack/23


假如age参数不是必须的的呢?再次修改路由代码:

Route::get('user/{name}/{age?}', function($name,$age=null) {
    return '用户姓名:'.$name.',年龄:'.$age;
});
Copier après la connexion
访问地址:http://localhost:801/user/jack

2.4 路由参数的约束

在正常情况下,用户访问的一些参数是有一定的规则,比如读取用户信息时的用户ID可能是数字,修改新闻信息时的新闻ID可能是GUID等等。

修改routes.php文件,追加以下代码:

Route::get('new/{id}', function($id)
{
    return '新闻ID:'.$id;
})->where('id', '[0-9]+');
Copier après la connexion
打开浏览器访问 http://localhost:801/new/3 是这样的:


可访问 http://localhost:801/new/abc 时则提供页面不存在:


相应的,当同时对多个参数限制时则需要使用数组,修改上例的路由代码:

Route::get('new/{id}/{title}', function($id,$title)
{
    return '新闻ID:'.$id.',新闻标题:'.$title;
})->where(['id' => '[0-9]+', 'title' => '[a-z]+']);
Copier après la connexion
访问效果这里就不演示了。
另外,我们可以配置全局的限制条件,打开文件:app/Providers/RouteServiceProviders.php,修改boot方法如下:
    public function boot(Router $router)
    {
        //
        $router->pattern('id', '[0-9]+');
        parent::boot($router);
    }
Copier après la connexion

修改上例中的路由代码为:

Route::get('new/{id}', function($id)
{
    return '新闻ID:'.$id;
});
Copier après la connexion
访问效果和上例是一样的,这里不在演示。

2.5 获取路由参数

在routes.php中可以获取路由参数,以此来做其他的操作,修改上例的路由代码:

Route::get('new/{id}', function(Request $request, $id)
{
    if ($request->route('id') == '2')
    {
        return '新闻ID是2';
    }else{
        return '新闻ID不是2,值是:'.$id;
    }
});
Copier après la connexion

在routes.php中

use Illuminate\Http\Request;
Copier après la connexion

打开浏览器,分别访问 http://localhost:801/new/2 和 http://localhost:801/new/3 即可看到不同的页面效果。


路由还有很多复杂的功能,有待研究。

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了Laravel 514 + Bootstrap 334 笔记二:Laravel 路由,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Pourquoi MySQL ne peut-il pas se connecter à localhost ? Pourquoi MySQL ne peut-il pas se connecter à localhost ? Aug 10, 2023 pm 02:55 PM

Les raisons pour lesquelles MySQL ne peut pas se connecter à localhost sont que le service MySQL n'est pas démarré, que le port MySQL est occupé et qu'il y a un problème avec le fichier de configuration MySQL. Introduction détaillée : 1. Dans les systèmes Windows, vous pouvez ouvrir le gestionnaire de services en saisissant « services.msc » à l'invite de commande, puis rechercher le service mysql et vous assurer que son état est « En cours d'exécution ». Dans les systèmes Linux, vous pouvez utiliser la commande « services.msc » pour vérifier et contrôler l'état du service ; 2. Vous pouvez utiliser la commande open et ainsi de suite.

Explication détaillée de l'utilisation de return en langage C Explication détaillée de l'utilisation de return en langage C Oct 07, 2023 am 10:58 AM

L'utilisation de return en langage C est la suivante : 1. Pour les fonctions dont le type de valeur de retour est void, vous pouvez utiliser l'instruction return pour terminer l'exécution de la fonction plus tôt. 2. Pour les fonctions dont le type de valeur de retour n'est pas void, la fonction de ; l'instruction return sert à terminer l'exécution de la fonction.Le résultat est renvoyé à l'appelant ;3. Terminer l'exécution de la fonction plus tôt que prévu.À l'intérieur de la fonction, nous pouvons utiliser l'instruction return pour terminer l'exécution de la fonction plus tôt. si la fonction ne renvoie pas de valeur.

Que signifie fonction ? Que signifie fonction ? Aug 04, 2023 am 10:33 AM

Fonction signifie fonction. Il s'agit d'un bloc de code réutilisable avec des fonctions spécifiques. C'est l'un des composants de base d'un programme. Il peut accepter des paramètres d'entrée, effectuer des opérations spécifiques et renvoyer des résultats. code pour améliorer la réutilisabilité et la maintenabilité du code.

Que dois-je faire si localhost ne peut pas être ouvert ? Que dois-je faire si localhost ne peut pas être ouvert ? Nov 07, 2023 pm 02:47 PM

Solution : 1. Vérifiez l'état de fonctionnement du serveur et assurez-vous qu'il écoute sur le bon port ; 2. Essayez de désactiver temporairement le pare-feu ou le logiciel de sécurité, puis essayez à nouveau d'accéder à localhost ; système d'exploitation pour vous assurer que localhost est correctement résolu ; 4. Essayez de redémarrer la carte réseau ou de reconfigurer la connexion réseau ; 5. Essayez de modifier le port utilisé par le serveur local ou fermez les autres programmes qui occupent le même port ; pour ajouter manuellement l'adresse IP et le nom de domaine correspondants dans le fichier hosts, etc.

Quel est l'ordre d'exécution des instructions return et enfin en Java ? Quel est l'ordre d'exécution des instructions return et enfin en Java ? Apr 25, 2023 pm 07:55 PM

Code source : publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}finally{x=3;}}}# Sortie La sortie du code ci-dessus peut simplement conclure : return est exécuté avant finalement. Jetons un coup d'œil à ce qui se passe au niveau du bytecode. Ce qui suit intercepte une partie du bytecode de la méthode case1 et compare le code source pour annoter la signification de chaque instruction dans

Que signifie Linux localhost ? Que signifie Linux localhost ? Mar 14, 2023 am 09:53 AM

linux localhost signifie « nom d'hôte de l'ordinateur ». Le nom d'hôte est utilisé pour identifier un ordinateur indépendant sur le réseau ; la racine dans « root@localhost » représente l'utilisateur actuellement connecté. Sous Linux, le compte administrateur est root et le compte. l'utilisateur est root. Connectez-vous à la machine Linux en tant qu'utilisateur.

Quel est le but de la fonction « enumerate() » en Python ? Quel est le but de la fonction « enumerate() » en Python ? Sep 01, 2023 am 11:29 AM

Dans cet article, nous découvrirons la fonction enumerate() et le but de la fonction « enumerate() » en Python. Qu'est-ce que la fonction enumerate() ? La fonction enumerate() de Python accepte une collection de données comme paramètre et renvoie un objet d'énumération. Les objets d'énumération sont renvoyés sous forme de paires clé-valeur. La clé est l'index correspondant à chaque élément, et la valeur est les éléments. Syntaxe enumerate(iterable,start) Paramètres iterable - Les données transmises dans la collection peuvent être renvoyées sous forme d'objet d'énumération, appelé iterablestart - Comme son nom l'indique, l'index de départ de l'objet d'énumération est défini par start. si nous ignorons

Explication détaillée du rôle et de la fonction de la table MySQL.proc Explication détaillée du rôle et de la fonction de la table MySQL.proc Mar 16, 2024 am 09:03 AM

Explication détaillée du rôle et de la fonction de la table MySQL.proc MySQL est un système de gestion de bases de données relationnelles populaire. Lorsque les développeurs utilisent MySQL, ils impliquent souvent la création et la gestion de procédures stockées (StoredProcedure). La table MySQL.proc est une table système très importante. Elle stocke les informations relatives à toutes les procédures stockées dans la base de données, y compris le nom, la définition, les paramètres, etc. Dans cet article, nous expliquerons en détail le rôle et les fonctionnalités de la table MySQL.proc

See all articles