Heim  >  Artikel  >  Backend-Entwicklung  >  Über Bindungsoperationen von Laravel-Framework-Routen und -Controllern

Über Bindungsoperationen von Laravel-Framework-Routen und -Controllern

不言
不言Original
2018-06-12 16:48:302909Durchsuche

Dieser Artikel stellt hauptsächlich die Bindungsbetriebsmethode des Laravel-Framework-Routings und -Controllers vor. Er analysiert die Betriebsschritte, Implementierungsmethoden und zugehörigen Vorsichtsmaßnahmen für die Bindung des Laravel-Framework-Routings und -Controllers in Form von Beispielen. Das Folgende

Das Beispiel in diesem Artikel beschreibt die Bindungsbetriebsmethode des Laravel-Framework-Routings und -Controllers. Teilen Sie es allen als Referenz mit. Die Details lauten wie folgt:

Die Beziehung zwischen Routing und Controller

Die Adresse der Routing-Datei befindet sich in appHttproutes.php , schauen wir uns zwei verschiedene Routen an.

Route::get('/', function () {
  return view('welcome');
});
Route::get('/hi', function () {
  return 'hello world';
});

Die oben genannten Routen sind alle an anonyme Funktionen gebunden. Obwohl sie Ansichten oder Zeichenfolgen zurückgeben können, ist das Wesentliche dasselbe.

Route::get('/blog','BlogController@index');
Route::get('/post/{slug}','BlogController@showPost');

Diese beiden sind an den Controller gebundene Routen. Es gibt zwei Funktionen unter der Controller-Klasse BlogController, index und showPost aufgerufen werden können.

Dann ist die Frage, welches soll ich wählen?

Sie können keine komplexe Geschäftslogik in einer anonymen Funktion schreiben, daher müssen Sie lernen, neue Controller zu erstellen.

Route::get('/mvc', 'MyController@hello');

Neuen Controller hinzufügen

Die Adresse des Controller-Ordners befindet sich im Laravel-Ordner Weiter appHttpControllers, wir verwenden weiterhin die Artisan-Konsole, um einen neuen Controller zu erstellen

php artisan make:controller MyController

Kehren Sie dann zum Controller-Verzeichnis zurück und erstellen Sie einen neuen Die MyController.php-Datei wurde mit folgendem Code erstellt:

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
class MyController extends Controller
{
  //
}

Wir modifizieren die MyController-Klasse und erstellen gleichzeitig eine Ansicht.

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

Wenn so geschrieben, bedeutet dies, dass das Routing übergeben wird, sobald der Benutzer auf URL: laravel/public/mvc zugreift Über zu MyController. Die Hallo-Funktion des Controllers gibt die Myview-Ansicht zurück, das heißt, gibt myview.blade.php zurück

Werfen wir einen Blick auf den Code von 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

Das {{ $d1 }} hier möchte durch den Wert einer Variablen ersetzt werden, also ändern wir den MyController-Controller in

class MyController extends Controller
{
  public function hello()
  {
    return View(&#39;myview&#39;,[&#39;d1&#39;=>&#39;a1&#39;]);
  }
}

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Analyse der Paging-Implementierung des Laravel-Frameworks

Analyse des Lebenszyklus und der Prinzipien des Laravel-Frameworks

Laravel-Framework-Routing-Einstellungen

Das obige ist der detaillierte Inhalt vonÜber Bindungsoperationen von Laravel-Framework-Routen und -Controllern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn