So übergeben Sie Daten von der Route an den Controller und zeigen sie in Laravel 11 an

WBOY
Freigeben: 2024-08-21 21:04:09
Original
472 Leute haben es durchsucht

How to Pass Data From Route to Controller and View in Laravel 11

Seit dem Jahr 2020 bis 2024 war die Entwicklung in Laravel ein Segen für die Entwickler auf der ganzen Welt. In diesem kleinen Codebeispiel zeigen wir Ihnen den Weg der Weitergabe von Daten von einer Route an einen Controller und dann an eine Ansicht. Dies ist ein grundlegender Aspekt der Laravel-Entwicklung im Allgemeinen und wir sehen das oft. Laravel 11 bietet wie seine Vorgängerversionen eine elegante und effiziente Möglichkeit, diesen Prozess zu verwalten. Für die Erstellung dynamischer und reaktionsfähiger Webanwendungen ist es von entscheidender Bedeutung, zu verstehen, wie Daten effektiv zwischen diesen Komponenten ausgetauscht werden können.

*(I) Übersicht über Laravel Routing
*

In Laravel KÖNNTEN Routen in der Datei „routes/web.php“ definiert werden. Eine Route besteht typischerweise aus einem URL-Pfad und einer entsprechenden Aktion, wie etwa dem Aufrufen einer Methode auf einem Controller usw. usw. Wenn ein Benutzer auf eine bestimmte URL zugreift, ermittelt Laravel die entsprechende Route und führt die zugehörige Logik aus.# #

Codebeispiel


Route::get('/example', [ExampleController::class, 'show']);
Nach dem Login kopieren
In diesem Beispiel wird die Show-Methode des BeispielControllers ausgeführt, wenn ein Benutzer die /example-URL besucht.

*

(II) Weitergabe von Daten von der Route an den Controller*
Im Beispiel unten können Sie sehen, dass wir Daten von einer Route an einen Controller übergeben würden, und dann würden wir Routenparameter in die URL aufnehmen und auf diese Parameter innerhalb der Controller-Methode zugreifen.

Route::get('/user/{id}', [UserController::class, 'show']);
Nach dem Login kopieren
Hier ist {id} ein Routenparameter. Wenn ein Benutzer /user/1 besucht, wird der ID-Wert 1 an die Show-Methode von UserController übergeben.

Controller-Methode:


public function show($id) { // Fetch the user data using the ID $user = User::find($id); // Return the view with the user data return view('user.profile', ['user' => $user]); }
Nach dem Login kopieren
Bei dieser Methode wurde der ID-Parameter zum Abrufen eines Benutzers aus unserer Datenbank verwendet. Die abgerufenen Benutzerdaten werden dann an die Ansicht übergeben.

*

(III) Übergabe von Daten vom Controller an View*
Sobald die Daten im Controller verarbeitet werden, ist es häufig erforderlich, diese Daten zum Rendern an eine Ansicht zu übergeben. Laravel bietet mehrere Möglichkeiten, Daten von einem Controller an eine Ansicht zu übergeben.

*

(i) Übergeben von Daten mit der with()-Methode*

public function show($id) { $user = User::find($id); // Passing data using with() method return view('user.profile')->with('user', $user); }
Nach dem Login kopieren
*

(ii) Übergeben von Daten mithilfe eines assoziativen Arrays*

public function show($id) { $user = User::find($id); // Passing data using an associative array return view('user.profile', ['user' => $user]); }
Nach dem Login kopieren
*

(iii) Übergeben von Daten mit der Funktion „compact()“*

public function show($id) { $user = User::find($id); // Passing data using the compact() function return view('user.profile', compact('user')); }
Nach dem Login kopieren
In allen oben genannten kleinen Codebeispielen wurden die Methoden verwendet. Die Variable $user sollte der user.profile-Ansicht zur Verfügung gestellt werden, wo sie dann zur Anzeige der Benutzerinformationen verwendet werden konnte.

*

(IV) Zugriff auf übergebene Daten in der Ansicht*
In der Ansicht kann auf die vom Controller übergebenen Daten mithilfe der Blade-Syntax, der Template-Engine von Laravel, zugegriffen werden.

Beispiel einer Blade-Ansicht:


   User Profile 

{{ $user->name }}

Email: {{ $user->email }}

Nach dem Login kopieren
In diesem Codebeispiel wird in der Blade-Ansicht auf die Variable $user zugegriffen und der Name und die E-Mail-Adresse des Benutzers werden angezeigt.

*

(V) Übergabe mehrerer Parameter*
Sie können auch mehrere Parameter von einer Route an einen Controller und dann an eine Ansicht übergeben.

Routencode-Beispiel


Route::get('/post/{id}/comment/{commentId}', [PostController::class, 'showComment']);
Nach dem Login kopieren
Controller-Methode:


public function showComment($id, $commentId) { $post = Post::find($id); $comment = Comment::find($commentId); return view('post.comment', compact('post', 'comment')); }
Nach dem Login kopieren
In diesem Fall werden sowohl die Post- als auch die Kommentardaten an die Post.Comment-Ansicht übergeben.

(VI) Hier sind einige wichtige Hinweise zum besseren Verständnis

(i) – Benannte Routen verwenden: Mit Laravel können Sie benannte Routen definieren, was die Generierung von URLs oder Weiterleitungen innerhalb Ihrer Anwendung erleichtert.

  • (ii) – Eingabe validieren: Validieren Sie immer die Daten aus Routenparametern, bevor Sie sie im Controller verarbeiten. Die integrierten Validierungsfunktionen von Laravel können dabei helfen, sicherzustellen, dass die Daten die erforderlichen Kriterien erfüllen.

  • (iii) – Halten Sie die Controller sauber: Befolgen Sie das Prinzip der Einzelverantwortung, indem Sie sicherstellen, dass sich die Controller auf eine bestimmte Aufgabe konzentrieren. Delegieren Sie bei Bedarf komplexe Logik an Dienste oder Repositorys.

  • (iv) – Abhängigkeitsinjektion verwenden: Verwenden Sie nach Möglichkeit die Abhängigkeitsinjektion in Controllern, um erforderliche Dienste oder Modelle zu injizieren und so den Code testbarer und wartbarer zu machen.

Das Übergeben von Daten von einer Route an einen Controller und dann an eine Ansicht ist ein unkomplizierter Vorgang. In den Tutorials zu Laravel 11 finden Sie weitere Codebeispiele. Indem Sie die verschiedenen verfügbaren Methoden verstehen und Best Practices befolgen, können Sie sicherstellen, dass Ihre Anwendung sauber, effizient und wartbar bleibt. Durch die Nutzung dieser Techniken können Sie robuste und skalierbare Anwendungen erstellen, die einfach zu verwalten und zu erweitern sind.

Das obige ist der detaillierte Inhalt vonSo übergeben Sie Daten von der Route an den Controller und zeigen sie in Laravel 11 an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
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
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!