À propos des opérations de liaison des routes et des contrôleurs du framework Laravel

不言
Libérer: 2023-03-31 20:06:02
original
2864 Les gens l'ont consulté

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';
});
Copier après la connexion

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');
Copier après la connexion

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');
Copier après la connexion

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
Copier après la connexion

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
{
  //
}
Copier après la connexion

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(&#39;myview&#39;);
  }
}
Copier après la connexion

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(&#39;layouts.app&#39;)
@section(&#39;content&#39;)
<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
Copier après la connexion

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(&#39;myview&#39;,[&#39;d1&#39;=>&#39;a1&#39;]);
  }
}
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!