Avez-vous une question? (216) 97 656 803 hajjriadh@gmail.com
Laravel

Créer une méthode de contrôleur Laravel

Un cours complet pour maîtriser Créer une méthode de contrôleur Laravel.

0 chapitres 0 QCM Accès gratuit
  1. Objectifs

  2. Présentation

    • Un contrôleur laravel peut contenir différentes méthodes. Chaque méthode peut avoir l' argument $ request comme paramètre de fonction par défaut. Il s'agit essentiellement d'un objet de requête contenant vos variables de formulaire, vos données de session ou vos informations de cookie.
    • Une méthode de contrôleur peut répondre via différents types de réponse, certains d'entre eux sont mentionnés ci-dessous:
      • Texte brut
      • Json Array
      • Vue HTML ou blade
      • XML
      • Téléchargement de fichier
      • Sortie PDF ou image sur navigateur directement etc ...
  3. Exemple de rendu de texte brut
    <? php
    
    namespace App\Http\Controllers;
    use Illuminate\Http\Request;
    
    class UserController extends Controller
    {
        function exemple()
        {
            return "Hello, Mohamed SALAH";
        }
    }
  4. Rendre un fichier de vue blade situé dans le dossier resources/views
    <? php
    
    namespace App\Http\Controllers;
    use Illuminate\Http\Request;
    
    class UserController extends Controller
    {
        function example()
        {
            return view("dashboard");
        }
    }
  5. Rendre le tableau en tant que tableau json ou json
    <? php
    
    namespace App\Http\Controllers;
    use Illuminate\Http\Request;
    
    class UserController extends Controller
    {
        function example()
        {
            // render array as json
            return [1, 2, 3];
    
            // render json array
            return response()->json([
                "name" => "Sandip Patel"
            ]);
        }
    }
  6. Rendre un texte avec des en-têtes supplémentaires
    <? php
    
    namespace App\Http\Controllers;
    use Illuminate\Http\Request;
    
    class UserController extends Controller
    {
        function example()
        {
            return response('Hello World', 200)
                    ->header('Content-Type', 'text/plain');
    
            return response($content)
                ->header('Content-Type', $type)
                ->header('X-Header-One', 'Header Value1')
                ->header('X-Header-Two', 'Header Value2');
        }
    }
  7. Rendre un fichier ou un pdf
    <? php
    
    namespace App\Http\Controllers;
    use Illuminate\Http\Request;
    
    class UserController extends Controller
    {
        function example()
        {
            // render a file directly on broswer
            // i.e. image or pdf file
            return response()->file($pathToFile);
        }
    }
  8. Télécharger le fichier de rendu
    <? php
    
    namespace App\Http\Controllers;
    use Illuminate\Http\Request;
    
    class UserController extends Controller
    {
        function example()
        {
            // download a file with given path
            return response()->download($pathToFile);
    
            // download a file with given path with different name and
            // pass some extra headers along with the new file name
            return response()->download($pathToFile, $name, $headers);
    
            // delete the file once download completes
            return response()->download($pathToFile)->deleteFileAfterSend();
        }
    }
  9. Redirection vers des URL internes ou externes
    <? php
    
    namespace App\Http\Controllers;
    use Illuminate\Http\Request;
    
    class UserController extends Controller
    {
        function example()
        {
            // redirect to last page with
            // submitted form data
            return back()->withInput();
    
            // redirect to user/dashboard page
            return redirect('user/dashboard');
    
            // redirect with named route
            return redirect()->route('login');
    
            // redirect with named route by passing variables
            return redirect()->route('profile', ['id' => 1]);
    
    
            // redirect to specific controller method
            return redirect()->action('HomeController@index');
    
    
            // redirect to external url
            return redirect()->away('https://www.google.com');
    
            // redirect with flash session message
            return redirect('dashboard')->with('success', 'Profile updated!');
        }
    }