Cet article présente principalement la méthode d'opération de liaison du routage et du contrôleur du framework Laravel. Il analyse les étapes de fonctionnement, les méthodes de mise en œuvre et les précautions associées pour lier le routage et le contrôleur du framework Laravel sous forme d'exemples. Ce qui suit
L'exemple de cet article décrit la méthode d'opération de liaison du routage et du contrôleur du framework Laravel. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
La relation entre le routage et le contrôleur
L'adresse du fichier de routage est dans appHttproutes.php , regardons deux itinéraires différents.
Route::get('/', function () { return view('welcome'); }); Route::get('/hi', function () { return 'hello world'; });
Les routes ci-dessus sont toutes liées à des fonctions anonymes. Bien qu'elles puissent renvoyer des vues ou des chaînes, l'essence est la même.
Route::get('/blog','BlogController@index'); Route::get('/post/{slug}','BlogController@showPost');
Ces deux sont des routes liées au contrôleur. Il existe deux fonctions sous la classe du contrôleur BlogController, index. et showPost peuvent être appelés.
Alors la question est : laquelle dois-je choisir ?
Vous ne pouvez pas écrire de logique métier complexe dans une fonction anonyme, vous devez donc apprendre à créer de nouveaux contrôleurs.
Route::get('/mvc', 'MyController@hello');
Ajouter un nouveau contrôleur
Adresse du dossier du contrôleur dans Laravel Sous le dossier appHttpControllers, on continue à utiliser la console artisan pour créer un nouveau contrôleur
php artisan make:controller MyController
Ensuite, revenons au répertoire du contrôleur, un un nouveau fichier MyController.php a été créé avec le code suivant :
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; class MyController extends Controller { // }
Nous modifions la classe MyController et créons une vue en même temps.
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; class MyController extends Controller { public function hello() { return View('myview'); } }
Si écrit ainsi, cela signifie qu'une fois que l'utilisateur accède à URL:laravel/public/mvc, la route sera être remis à La fonction hello du contrôleur MyController, la fonction hello renvoie la vue myview, c'est-à-dire renvoie myview.blade.php
Regardons le code de myview.blade.php
@extends('layouts.app') @section('content') <p class="container"> <p class="row"> <p class="col-md-10 col-md-offset-1"> <p class="panel panel-default"> <p class="panel-heading">{{ $d1 }}</p> <p class="panel-body"> this is my view! </p> </p> </p> </p> </p> @endsection
Le {{ $d1 }}
ici veut être remplacé par la valeur d'une variable, nous modifions donc le contrôleur MyController en
class MyController extends Controller { public function hello() { return View('myview',['d1'=>'a1']); } }
Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois. !
Recommandations associées :
Analyse de la mise en œuvre de la pagination du framework Laravel
Analyse du cycle de vie et des principes du framework Laravel
Paramètres de routage du framework Laravel
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!