Maison développement back-end tutoriel php Analyse des sous-vues et réutilisation des formulaires dans le framework Laravel5

Analyse des sous-vues et réutilisation des formulaires dans le framework Laravel5

Jun 13, 2018 pm 04:51 PM
laravel框架 php框架laravel

Cet article présente principalement l'utilisation des sous-vues et la réutilisation des formulaires dans le framework Laravel5. Il est très détaillé et complet. Il est très utile pour tout le monde de maîtriser le framework Laravel5. Les amis dans le besoin peuvent s'y référer

Nous devons nous occuper de la rédaction des articles. Bien sûr, nous pouvons ajouter de nouveaux itinéraires manuellement, comme ceci :

Route::get('/articles/{id}/edit', 'ArticleController@edit');
Copier après la connexion
Utilisons artisan's route:list sur la ligne de commande pour afficher nos itinéraires actuels :

php artisan route:list
Copier après la connexion
Dans le cas de conformité RESTful, il peut être un bon choix d'utiliser directement la route des ressources de laravel. Cependant, nous supprimerons toutes les routes et n'ajouterons qu'une seule :

Route::resource('articles', 'ArticlesController');
Copier après la connexion
Utiliser à nouveau la route artisan php :list Afficher les routes. , wow, un tas d'itinéraires qui répondent à nos attentes sont générés. Regardez attentivement chaque élément.

Ajoutez maintenant la méthode dans le contrôleur :

  public function edit($id) {
    $article = Article::findOrFail($id);

    return view('articles.edit', compact('article'));
  }
Copier après la connexion

Créez maintenant la vue

@extends('layout')

@section('content')
  <h1>Edit: {!! $article->title !!} </h1>

  <hr/>

  ...
Copier après la connexion

D'accord, j'avoue que ces codes ont été copiés depuis create.blade.php et modifiés. La question est : devons-nous les répéter ? Nous traiterons de ce problème plus tard, examinons maintenant le problème de soumission du formulaire. Dans la route, php artisan route:list, regardez encore, la modification utilise la méthode PATCH, modifions la vue :

{!! Form::open([&#39;method&#39; => &#39;PATCH&#39;, &#39;url&#39; => &#39;articles/&#39; . $article->id]) !!}
Copier après la connexion
Visitez /articles/1/edit dans le navigateur, vérifiez le code source, Il a été constaté que Laravel générait automatiquement le champ caché de _method=PATCH.

Un problème est que nous modifions l'article, mais les informations sur l'article ne s'affichent pas. Modifions la vue :

 {!! Form::model($article, [&#39;method&#39; => &#39;PATCH&#39;, &#39;url&#39; => &#39;articles/&#39; . $article->id]) !!}
Copier après la connexion
OK, tout va bien, sauf que le champ publié_on est toujours défini. à la date actuelle, nous y reviendrons plus tard.

Ajoutez maintenant la méthode dans le contrôleur :

  public function update($id, \Illuminate\Http\Request $request) {
    $article = Article::findOrFail($id);
    $article->update($request->all());

    return redirect(&#39;articles&#39;);
  }
Copier après la connexion

Nous devons également vérifier pendant le processus de modification, réutilisons notre classe Request , renommez CreateArticleRequest en ArticleRequest plus général, n'oubliez pas de modifier les paramètres dans la méthode store.

  public function update($id, Requests\ArticleRequest $request) {
    $article = Article::findOrFail($id);
    $article->update($request->all());

    return redirect(&#39;articles&#39;);
  }
Copier après la connexion

Maintenant, le problème restant est que nos new et edit utilisent la plupart du même code, comme l'affichage des erreurs, mais ils existent deux fois, réparons ce problème.

Nous créons un nouveau fichier list.blade.php directement sous vues/articles, et copions le code de gestion des erreurs de create.blade.php :

@if ($errors->any())
  <ul class="alert alert-danger">
    @foreach($errors->all() as $error)
      <li>{{ $error }}</li>
    @endforeach
  </ul>
@endif
Copier après la connexion

Dans create.blade.php, remplacez simplement le code de gestion des erreurs par l'instruction suivante :

@include(&#39;articles.list&#39;)
Copier après la connexion
Traitons à nouveau du code du formulaire. Le code du formulaire n'est pas le même sauf le formulaire. . Il y a une différence dans le bouton de soumission, mais tout le reste est pareil. On crée une vue articles/form_partial.blade.php et on copie le code

<p class="form-group">
  {!! Form::label(&#39;title&#39;, &#39;Title:&#39;) !!}
  {!! Form::text(&#39;title&#39;, null, [&#39;class&#39; => &#39;form-control&#39;]) !!}
</p>

<p class="form-group">
  {!! Form::label(&#39;body&#39;, &#39;Body:&#39;) !!}
  {!! Form::textarea(&#39;body&#39;, null, [&#39;class&#39; => &#39;form-control&#39;]) !!}
</p>

<p class="form-group">
  {!! Form::label(&#39;published_at&#39;, &#39;Publish On:&#39;) !!}
  {!! Form::input(&#39;date&#39;, &#39;published_at&#39;, date(&#39;Y-m-d&#39;), [&#39;class&#39; => &#39;form-control&#39;]) !!}
</p>

<p class="form-group">
  {{--这里要设置变量,依据是编辑还是修改来改变,当然也可以不放置在partial中--}}
  {!! Form::submit($submitButtonText, [&#39;class&#39; => &#39;btn btn-primary form-control&#39;]) !!}
</p>
Copier après la connexion

Modifier create.blade.php

@extends('layout')

@section('content')
  

Write a New Article


@include(&#39;articles.list&#39;) {{--使用我们添加的 illuminate\html 开源库--}} {!! Form::open(['url' => 'articles']) !!} @include('articles.form_partial', ['submitButtonText' => 'Add Article']) {!! Form::close() !!} @stop
Copier après la connexion

Modifier edit.blade.php

@extends('layout')

@section('content')
  

Edit: {!! $article->title !!}


@include(&#39;articles.list&#39;) {{--使用我们添加的 illuminate\html 开源库--}} {!! Form::model($article, [&#39;method&#39; => &#39;PATCH&#39;, &#39;url&#39; => &#39;articles/&#39; . $article->id]) !!} @include('articles.form_partial', ['submitButtonText' => 'Update Article']) {!! Form::close() !!} @stop
Copier après la connexion

Ce qui précède est l'intégralité du contenu de cet article, J'espère que cela vous sera utile. L'apprentissage de tout le monde est utile. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Validation des pages et des formulaires dans Laravel 4

À propos des opérations CURD et des opérations cohérentes de la base de données du framework Laravel Analyse

À propos de la méthode de pagination du plug-in Laravel du framework PHP pour implémenter une pagination personnalisée

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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser les événements de modèle (Model Events) dans le framework Laravel Comment utiliser les événements de modèle (Model Events) dans le framework Laravel Jul 28, 2023 am 10:49 AM

Comment utiliser les événements de modèle (ModelEvents) dans le framework Laravel Le framework Laravel fournit de nombreuses fonctionnalités puissantes, dont les événements de modèle (ModelEvents). Les événements de modèle sont une fonctionnalité utilisée dans EloquentORM (Object Relational Mapping) de Laravel qui permet aux développeurs d'exécuter du code personnalisé lorsqu'une action spécifique se produit sur le modèle. Dans cet article, nous explorerons comment utiliser les événements de modèle dans le framework Laravel et fournirons un

Comment utiliser le Planificateur de tâches pour exécuter des tâches planifiées dans le framework Laravel Comment utiliser le Planificateur de tâches pour exécuter des tâches planifiées dans le framework Laravel Jul 29, 2023 am 09:54 AM

Comment utiliser le planificateur de tâches (TaskScheduler) pour exécuter des tâches planifiées dans le framework Laravel Avec le développement d'applications Web, les tâches planifiées jouent un rôle crucial dans de nombreux scénarios. Le framework Laravel fournit une puissante fonction de planification de tâches (TaskScheduler) qui peut facilement effectuer diverses tâches planifiées, telles que la génération de rapports, le nettoyage des caches, l'envoi d'e-mails, etc. Cet article explique comment utiliser le planificateur de tâches pour exécuter des tâches planifiées dans le framework Laravel.

Utilisez le framework PHP Laravel pour développer un système de blog efficace et fournir des ressources de blog de haute qualité Utilisez le framework PHP Laravel pour développer un système de blog efficace et fournir des ressources de blog de haute qualité Jun 27, 2023 am 09:37 AM

Avec la popularité d’Internet, les méthodes d’écriture traditionnelles sont progressivement remplacées et les gens ont tendance à écrire, lire et communiquer via des plateformes en ligne. À l’ère de l’information, il est indispensable de développer un système de blog efficace et de fournir aux lecteurs des ressources de blog de haute qualité. Cet article présentera comment utiliser le framework PHP Laravel pour développer un système de blog efficace. 1. Pourquoi choisir le framework Laravel ? Laravel est un excellent framework PHP il est simple, flexible, efficace et peut réduire le temps de développement.

Développer des applications Web efficaces en utilisant le framework Laravel Développer des applications Web efficaces en utilisant le framework Laravel May 27, 2023 am 08:51 AM

Avec le développement rapide d'Internet, les applications Web jouent un rôle de plus en plus important dans nos vies. Pour les développeurs, il est crucial d’utiliser des outils et des frameworks efficaces pour développer des applications Web. Le framework Laravel fait sans aucun doute partie des choix efficaces. Cet article présentera les concepts de base et les utilisations du framework Laravel pour vous aider à développer rapidement des applications Web efficaces. 1. Concepts de base du framework Laravel Le framework Laravel est un framework d'application web open source basé sur le langage PHP. il

Comment utiliser la fonction Queue dans le framework Laravel Comment utiliser la fonction Queue dans le framework Laravel Jul 28, 2023 pm 09:37 PM

Comment utiliser la fonction de file d'attente (Queue) dans le framework Laravel Introduction : La file d'attente (Queue) est un mécanisme de traitement asynchrone courant qui joue un rôle important dans le développement Web. Le framework Laravel fournit de puissantes fonctions de file d'attente qui peuvent facilement gérer diverses tâches en arrière-plan, telles que l'envoi d'e-mails, la génération de rapports, le traitement de Big Data, etc. Cet article expliquera comment utiliser la fonction de file d'attente dans le framework Laravel, y compris la configuration de la file d'attente, la définition et l'exécution des tâches, etc., et donnera des exemples de code correspondants. 1. Configurez la file d'attente dans

Comment apprendre Laravel comment apprendre Laravel gratuitement Comment apprendre Laravel comment apprendre Laravel gratuitement Apr 18, 2025 pm 12:51 PM

Vous voulez apprendre le cadre de Laravel, mais ne souffrez pas de ressources ni de pression économique? Cet article vous fournit un apprentissage gratuit de Laravel, vous apprenant à utiliser des ressources telles que les plateformes en ligne, les documents et les forums communautaires pour jeter une base solide pour votre parcours de développement PHP de la mise en place de maîtrise.

Partage des compétences de cadre Laravel Partage des compétences de cadre Laravel Apr 18, 2025 pm 01:12 PM

À cette époque de progrès technologique continu, la maîtrise des cadres avancés est crucial pour les programmeurs modernes. Cet article vous aidera à améliorer vos compétences en développement en partageant des techniques peu connues dans le cadre de Laravel. Connu pour sa syntaxe élégante et une large gamme de fonctionnalités, cet article va creuser ses fonctionnalités puissantes et fournir des conseils et des astuces pratiques pour vous aider à créer des applications Web efficaces et maintenables.

Méthode d'installation de Laravel Framework Méthode d'installation de Laravel Framework Apr 18, 2025 pm 12:54 PM

Résumé de l'article: Cet article fournit des instructions détaillées étape par étape pour guider les lecteurs sur la façon d'installer facilement le cadre Laravel. Laravel est un puissant cadre PHP qui accélère le processus de développement des applications Web. Ce didacticiel couvre le processus d'installation des exigences du système à la configuration des bases de données et à la configuration du routage. En suivant ces étapes, les lecteurs peuvent jeter rapidement et efficacement une base solide pour leur projet Laravel.

See all articles