Maison  >  Article  >  développement back-end  >  À propos des opérations de liaison des routes et des contrôleurs du framework Laravel

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

不言
不言original
2018-06-12 16:48:302905parcourir

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(&#39;myview&#39;);
  }
}

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

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;]);
  }
}

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!

Déclaration:
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