Beginning Laravel Build Websites with Laravel 5.8 — Second Edition — Sanjib Sinha Beginning Laravel Build Websites with Laravel 5.8 Second Edition Sanjib Sinha Beginning Laravel Sanjib Sinha Howrah, West Bengal, India ISBN-13 (pbk): 978-1-4842-4990-1 ISBN-13 (electronic): 978-1-4842-4991-8 https://doi.org/10.1007/978-1-4842-4991-8 Copyright © 2019 by Sanjib Sinha This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein. Managing Director, Apress Media LLC: Welmoed Spahr Acquisitions Editor: Nikhil Karkal Development Editor: Mathew Moodie Coordinating Editor: Divya Modi Cover designed by eStudioCalamar Cover image designed by Freepik (www.freepik.com) Distributed to the book trade worldwide by Springer Science+Business Media New York, 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail orders-ny@springer- sbm.com, or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation. For information on translations, please e-mail [email protected], or visit www.apress.com/ rights-permissions. Apress titles may be purchased in bulk for academic, corporate, or promotional use. eBook versions and licenses are also available for most titles. For more information, reference our Print and eBook Bulk Sales web page at www.apress.com/bulk-sales. Any source code or other supplementary material referenced by the author in this book is available to readers on GitHub via the book’s product page, located at www.apress.com/978-1-4842-4990-1. For more detailed information, please visit www.apress.com/source-code. Printed on acid-free paper This book is dedicated to Dr. Baidyanath Haldar, who dedicated his life to eradicating leprosy in India. You taught me to appreciate the value of lifelong learning. Sir, I truly miss you. Table of Contents About the Author ..................................................................................................... xi About the Technical Reviewer ............................................................................... xiii Acknowledgments ...................................................................................................xv Introduction ...........................................................................................................xvii Chapter 1: Introduction to Laravel ............................................................................ 1 Laravel’s Flexibility ........................................................................................................................ 1 How Laravel Works ....................................................................................................................... 3 What Is the MVC Pattern? ........................................................................................................ 7 How the MVC Pattern Works .................................................................................................... 9 Chapter 2: Setting Up Your Environment ................................................................ 11 Composer .................................................................................................................................... 11 Installing Composer Globally ................................................................................................. 12 Installing Laravel Globally ...................................................................................................... 13 Installing Laravel Locally with Composer .............................................................................. 14 Introduction to Homestead, Valet, and Forge .............................................................................. 16 Forge: Painless PHP Servers ................................................................................................. 18 Installing VirtualBox and Vagrant ........................................................................................... 19 Installing Homestead Using Vagrant ...................................................................................... 25 Configuring Homestead ......................................................................................................... 27 Shared Folders and Homestead ............................................................................................ 28 Launching the Vagrant Box .................................................................................................... 31 Homestead and MySQL ......................................................................................................... 34 How to Create a New Laravel Project ......................................................................................... 37 v TABLE OF CONtENtS Chapter 3: Routing, Controllers, Templates, and Views .......................................... 41 Route Definitions ......................................................................................................................... 41 How to Find the Default Route Files ...................................................................................... 42 Route and RESTful Controller ................................................................................................ 43 How to List All Routes ............................................................................................................ 43 Creating Controllers, Views, and Managing Routes .................................................................... 48 CRUD and the Seven Methods ............................................................................................... 51 Models Acts as a Resource ................................................................................................... 58 Models Act As Resources ...................................................................................................... 61 Resourceful Controllers ............................................................................................................... 62 The Importance of the Resourceful Controller ....................................................................... 64 How to Supplement the Resource Controller ........................................................................ 64 Getting User Input and Dependency Injection ............................................................................. 65 How a Blade Template Works with Controllers and Models ........................................................ 68 Security in Blade ................................................................................................................... 70 Authentication Through Blade ............................................................................................... 70 Control Structures in Blade ................................................................................................... 71 Other Advantages of Blade Templates ................................................................................... 72 Chapter 4: Working with Models ............................................................................ 75 Route Model Binding: Custom and Implicit ................................................................................. 75 Implicit Route Binding ........................................................................................................... 78 Custom Route Binding ........................................................................................................... 79 Model Relations .......................................................................................................................... 80 How Migrations Work with the Laravel Model ....................................................................... 81 Model and Faker Object ........................................................................................................ 92 Examining the Home Page .................................................................................................... 97 Relations Between Model, Database, and Eloquent .................................................................
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages30 Page
-
File Size-