Laravel: Embedding PHP Code in Blades

Getting Started

In this tutorial I'm going to limit the number of items shown per row using PHP so I'm going to embed the PHP code with the foreach. Also, I'll be using the upload project from the previous tutorial, Laravel Multiple File Upload, wherein I'm going to show the uploaded images.

Embedding our PHP Code

Next, we're going to edit the contents of upload.blade.php located in resources/views folder with the ff:
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.         <meta charset="UTF-8">
  5.         <title>Laravel: Embedding PHP Code in Blades</title>
  6.         <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
  7.         <link rel="stylesheet" href="/css/app.css">
  8. </head>
  9. <body>
  10. <div class="container">
  11.         <h1 class="page-header text-center">Embedding PHP Code in Blades</h1>
  12.         <div class="row">
  13.                 <div class="col-md-4">
  14.                         <div class="well">
  15.                                 <h2 class="text-center">Upload Form</h2>
  16.                                 <form method="POST" action="{{ route('upload.file') }}" enctype="multipart/form-data">
  17.                                         {{ csrf_field() }}
  18.                                         <input type="file" name="file[]" multiple><br>
  19.                                         <button type="submit" class="btn btn-primary">Upload</button>
  20.                                 </form>
  21.                         </div>
  22.                         <div style="margin-top:20px;">
  23.                         @if(count($errors) > 0)
  24.                                 @foreach($errors->all() as $error)
  25.                                         <div class="alert alert-danger text-center">
  26.                                                 {{$error}}
  27.                                         </div>
  28.                                 @endforeach
  29.                         @endif
  30.  
  31.                         @if(session('success'))
  32.                                 <div class="alert alert-success text-center">
  33.                                         {{session('success')}}
  34.                                 </div>
  35.                         @endif
  36.                         </div>
  37.                 </div>
  38.                 <div class="col-md-8">
  39.                         <h2>Uploaded Images</h2>
  40.                         @php
  41.                                 $inc=3;
  42.                                 @endphp
  43.                                         @foreach($files as $file)
  44.                                                 @php
  45.                                                         $inc = ($inc == 3) ? 1 : $inc+1;
  46.                                                         if($inc == 1) echo "<div class='row'>";
  47.                                                         @endphp
  48.                                                         <div class="col-md-4">
  49.                                                                 <img src="{{ $file->location }}" class="thumbnail" style="height:200px; width:100%">
  50.                                                         </div>
  51.                                                         @php
  52.                                                         if($inc == 3) echo "</div>";
  53.                                                 @endphp
  54.                                         @endforeach
  55.                                 @php
  56.                                 if($inc == 1) echo "<div class='col-md-4'></div><div class='col-md-4'></div></div>";
  57.                                 if($inc == 2) echo "<div class='col-md-4'></div></div>";
  58.                         @endphp
  59.  
  60.                 </div>
  61.         </div>
  62. </div>
  63. </body>
  64. </html>

Running our Project

You can test our code by deleting all existing data in our upload database and upload image files only. Run our project by typing upload.dev in your web browser. That ends this tutorial. Happy Coding :)

Add new comment