Book Image

Laravel 5.x Cookbook

By : Terry Matula, Alfred Nutile
Book Image

Laravel 5.x Cookbook

By: Terry Matula, Alfred Nutile

Overview of this book

Laravel is a prominent member of a new generation of web frameworks. It is one of the most popular PHP frameworks and is also free and an open source. Laravel 5 is a substantial upgrade with a lot of new toys, at the same time retaining the features that made Laravel wildly successful. It comes with plenty of architectural as well as design-based changes. The book is a blend of numerous recipes that will give you all the necessary tips you need to build an application. It starts with basic installation and configuration tasks and will get you up-and-running in no time. You will learn to create and customize your PHP app and tweak and re-design your existing apps for better performance. You will learn to implement practical recipes to utilize Laravel’s modular structure, the latest method injection, route caching, and interfacing techniques to create responsive modern-day PHP apps that stand on their own against other apps. Efficient testing and deploying techniques will make you more confident with your Laravel skills as you move ahead with this book. Towards the end of the book, you will understand a number of add-ons and new features essential to finalize your application to make it ready for subscriptions. You will be empowered to get your application out to the world.
Table of Contents (17 chapters)
Laravel 5.x Cookbook
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Validating the file upload


With all the previous work in place for the file upload, now I want to cover file validation. For this, we will let the Laravel request method handle the logic for us. This way, we can deal with all of this outside the controller, so when we plug it in we will be ready to go. I will cover checking file size and type.

Getting ready

Use the previous recipe to set up sound groundwork. I will use that recipe to then create a test around size and type of file.

How to do it…

  1. Make the custom form validation request:

    >php artisan make:request ProfileUploadRequest
    
  2. Now add to our Behat feature features/profile/profile_image.feature some of the things we are looking for:

  3. Then we run the step in the following image to stub out our steps in the context file. This is due to the --append-snippets switch:

    And we are set to start writing the code needed to handle this!

  4. Our test will look like this as it verifies the file type, in this case, I pass in png but in my form request I set...