Master Laravel for Beginners Intermediate

54h 41m 57s
English
Paid
April 22, 2024

Laravel is becoming the most popular choice among PHP developers these days. It's easiest to start with, most fun to use and very performant tool and ecosystem of tools, that just let's you get the job done. Let's be honest, Web Development became Rocket Science. Before you set up your environment, all the required libraries, tools and settings - it can be a week before you can write a "Hello World" program. Laravel is different. It just works. Out of the box, with sensible defaults.

More

It let's you use all modern techniques and tools of Web Development with ease.

Learn Laravel with this brand new course covering Laravel from A-Z for beginners!

Let's see:

  • Sending E-mails? Checked

  • Service Container? Checked

  • Queues and Background Processing? Checked

  • Web Sockets? Checked

  • Powerful Database Abstraction? Checked

  • Database Migrations? Checked

  • Database seeding (generating fake data)? Checked

  • Powerful MVC abstraction? Checked

  • Powerful Filesystem abstraction (local file system, Amazon S3)? Checked

  • Caching (Redis, Memcached)? Checked

  • Handling sessions? Checked

  • Serializing to JSON? Checked

  • Authentication (User Registration, Logging in)? Checked

  • Authorization (User Permissions)? Checked

  • Event based applications? Checked

The best thing about that is this is not only a powerful framework, it's actually easy to use and understand, even by beginners. I've created this course with beginners in mind. I explain the topics the way, that you only learn about something when you are ready for it. It's not overwhelming, we will cover the topics in a very specific order, so when you will start a new topic, you will already know everything to understand the concept at hand perfectly.

Let's have a break with me talking and see what my current students have to say about my courses (those are real reviews of my courses publicly visible here on Udemy!):

First:

"Amazing course! In-depth explanations, perfect talking pace, talks slow and is direct to the point. I had no previously knowledge in Symfony before starting, and this course gave me the confidence to start developing real world apps using Symfony. You will learn a lot of the Symfony framework, and some other cool techniques like Ajax Calls, Testing, Server configuration and Continous Deployment of your code."

Second:

"This is a Fantastic Course for Symfony exceeds expectations !!

Piotr is an experienced, knowledgeable and serious developer.

This course not only helped me to learn the inner workings of Symfony but also improve my OO php syntax, improve on git, get a better understanding of development stages, introduced me to cloud deployment ... even CI.CD.

From where I stand as a beginner, is a mini MVC developer course.

Couldn't recommend it enough.

You will certainly learn.

Thanks Piotr."

Third:

"Did the instructor write Symfony? He is very very knowledgeable."

Fourth:

"This guy is by far the best instructor I've ever come across. I took his other Symfony 4 course and advanced my understanding of the Framework more in a week than I have in the past year.

This course has filled a ton of gaps. He understands the complex learning curve and it's relationship to the content he covers thoroughly... a rarity in teaching, never mind coding complex Frameworks.

Just stick with the course.. you'll have that "Aha!" moment.

I'm working on my own Symfony 4 Framework based project(s) as I take this course... between Piotr, Github, and Google... its getting done!

Two of the most effective courses I've ever taken. I can't wait for what he puts out next."

I think it's the right time to give the same experience to anyone wanting to learn Laravel!

If you don't want to waste your time, this 27+ hours course would be the most productive week you will spend. I'm sure you will feel very comfortable with Laravel after that time.

Now, I'll be honest with you guys - I'm not a very talkative person. I only say what needs to be said. I won't be wasting any of your time. What I mean, is that this 27+ hours is what I think you need, no more, and no less.

Take a look at the curriculum, see some free preview videos. If for any reason you will be unhappy with your purchase, there is a 30 day Money Back Guarantee (No questions asked!).

Requirements:
  • Basic PHP and Object Oriented Programming understanding
Who this course is for:
  • Any Novice PHP developer without previous framework exposure
  • Anyone who knows other PHP frameworks and would like to learn Laravel

What you'll learn:

  • Master Eloquent, Controllers, Views and all the basics
  • Advanced features like Queues, Polymorphic relationships, Service Container
  • Learn all the theory while building a real application as you progress!
  • Setting up PHP with Apache on Windows and Mac
  • How to use Visual Studio Code effectively
  • Creating APIs, serializing data, API resources and API testing
  • Routes and Controllers
  • Laravel Tinker - command line playground to Laravel
  • Blade templates
  • Blade componenets
  • Creating Forms, CSRF tokens
  • One to One, One to Many, Many to Many relationships
  • Polymorphic relationships
  • Testing
  • Local and Global Eloquent Query Scopes
  • Database migrations
  • Database seeding and factories
  • Authentication (Guard)
  • Authorization (Policies and Gates)
  • Authorization
  • Caching
  • How to use queues
  • Files and file uploads
  • How to send e-mails
  • Observers, Events, Listeners and Subscribers
  • Localization
  • Services, Service Container, Contracts and Facades
  • Using Traits in Laravel - SoftDeletes and creating your own!

Watch Online Master Laravel for Beginners Intermediate

Join premium to watch
Go to premium
# Title Duration
1 Welcome to the Course! 03:49
2 How to Get Help? 04:46
3 Source Code of The Course! 04:19
4 Visual Studio Code Recommendations 05:16
5 What is Laravel? 02:17
6 Setting Up for Windows! - Section Introduction 00:22
7 Installing PHP 8.2 on Windows 05:51
8 Installing Composer on Windows 02:49
9 Installing and Running Docker (for MySQL etc.) on Windows 03:07
10 Installing Node.js on Windows (Required Later!) 03:04
11 Setting Up for Mac! - Section Introduction 00:32
12 Installing the Homebrew Package Manager 01:49
13 Installing PHP 8.2 on Mac 02:28
14 Installing Composer on Mac 01:53
15 Installing and Running Docker (for MySQL etc.) on Mac 02:42
16 Installing Node.js on Mac (Required Later!) 02:26
17 Project #1 - Section Introduction 01:42
18 Creating Laravel Project 17:00
19 All About Routing 14:43
20 Blade Templates 09:09
21 Blade Directives 13:50
22 Layouts Using Template Inheritance 17:50
23 Running a MySQL Database and Client Using Docker 05:33
24 Connecting to the Database From Laravel 06:54
25 Models and Migrations 13:03
26 Model Factory and Seeder 15:37
27 Model and Reading Data 12:25
28 Forms and CSRF Protection 13:06
29 Validating and Storing Data 09:31
30 Sessions, Errors & Flash Messages 10:10
31 Edit Form 10:11
32 Keeping Old Values in the Form 03:09
33 Reusability (Route Model Binding Form Requests, Mass Assignment) 17:21
34 Deleting Data 04:54
35 Reusing Blade Code - Subviews 08:55
36 Adding Pagination 04:30
37 Toggling Task State 09:49
38 Adding Styling with Tailwind CSS 12:48
39 Styling the Task Page 17:05
40 Styling Forms 10:55
41 Styling Flash Message & Using Alpine.js 15:06
42 Project #2 - Section Introduction 02:15
43 Creating the Book Review Project and Setting Up 08:01
44 Defining the One to Many Relationship 11:09
45 Factory & Seeder 14:59
46 Querying & Associating Related Models 16:41
47 Local Query Scopes 11:19
48 Aggregations on Relations 06:54
49 Highest Rated & Popular Books 06:48
50 Getting Books with Recent Reviews 16:34
51 Controllers & Resource Controllers 12:11
52 Displaying the Book List 18:11
53 Filter Books by Title - Adding the Form 07:44
54 Popular or Highest Rated - the View 14:38
55 Popular or Highest Rated - the Logic 11:05
56 One Book Page 09:59
57 Cache and Caching Queries 12:06
58 Invalidating Cache 17:57
59 Rating and Review Count on All Pages 13:19
60 Blade Components - Star Rating Component 11:40
61 Scoped Resource Controller - Adding a Review 17:53
62 Rate Limiting 12:58
63 Project #3 - Section Introduction 01:31
64 Creating the REST API Project 18:38
65 Seeding Data for the REST API 14:41
66 Postman REST Client Crash Course 15:28
67 Storing Data and Validation 14:39
68 Updating and Deleting Data 09:12
69 API Resources - Controlling JSON Response 14:09
70 Attendees and Pagination 15:45
71 Optional Relation Loading 12:50
72 Universal Relation Loading Trait 17:50
73 Loading Attendee Relations 02:50
74 Setting Up Authentication Using Sanctum 18:52
75 Protecting Routes 10:43
76 Automatically Adding Token in Postman Requests 03:41
77 Revoking Tokens and Signing Out 07:44
78 Authorization with Gates 18:05
79 Authorization with Policies 15:47
80 Manual Authorization with Policies 01:53
81 Reminding About Events - Custom Artisan Command 13:54
82 Reminding About Events - Task Scheduling 09:18
83 Reminding About Events - Notifications and Email Sending 14:24
84 Reminding About Events - Queues 09:44
85 Throttling the API 07:12
86 Project #4 - Section Introduction 01:58
87 Creating the Project and Setting Up Livewire 06:11
88 Creating Models and Migrations for the Poll App 12:19
89 Your First Livewire Component 08:23
90 How Livewire Works? 08:50
91 Actions in Livewire 08:31
92 Editing Poll Options 06:21
93 Creating a Poll 07:43
94 Refactoring the Poll Storing Code 06:28
95 Validation in Livewire 10:40
96 Listing Polls Component 08:10
97 Events - Communication Between Components 05:47
98 Voting in Polls! 04:33
99 Project #5 - Section Introduction 04:15
100 Creating the Job Board Project and Job Model 14:37
101 Adding Laravel Debugbar 04:01
102 Setting Up Tailwind CSS using Vite (and Node) 13:48
103 Layouts Using Components 08:41
104 Jobs Page & Card Component 10:43
105 Jobs Page: Tag Component & Job Info 11:23
106 Job Page: Job Card & Link Button Components 12:52
107 Breadcrumbs Navigation 16:26
108 Filtering Jobs: Tailwind Form Plugin & Text Inputs 16:21
109 Filtering Jobs: Form & Searching for Text in Job Posts 09:21
110 Filtering Jobs: Min & Max Salary 07:57
111 Filtering Jobs: Radio Button Filters (Select One Option of Many) 13:02
112 Filtering Jobs: Radio Group Component 08:21
113 Filtering Jobs: Configuring Labels and Talking About Arrays in PHP 13:41
114 Filtering Jobs: Clearing the Input 16:16
115 Refactor Time: Gradient Background, Styling Buttons, Adding Alpine.js 13:17
116 Refactor Time: Plain Vanilla JavaScript to Alpine.js 08:31
117 Refactor Time: Refactoring Filtering Backend Logic 15:24
118 Employer: Model, Migration, Relations 11:15
119 Employer: Factory & Seeder 08:28
120 Employer: Searching By Employer Name 06:27
121 Employer: Other Employer Jobs on the Job Page 08:01
122 Authentication: The Controller 05:15
123 Authentication: Sign-in Form 12:58
124 Authentication: Sign-in Logic 09:56
125 Authentication: Logging Out 14:17
126 Applying for Jobs: Model, Factory, Relations & Migration 09:26
127 Applying for Jobs: Controller, Routing and Application Form 11:26
128 Applying for Jobs: The Logic 10:12
129 Applying for Jobs: The Job Policy 09:49
130 Applying for Jobs: Did I Already Apply? 07:12
131 My Applications: Controller and View 10:27
132 My Applications: Applicant Count, Average Asking Salary 10:35
133 My Applications: Cancelling Applications 08:25
134 File Uploads: Understanding File System & Configuring Disks 12:01
135 File Uploads: Uploading Files 11:26
136 Refactor Time: Displaying Input Errors 13:02
137 Refactor Time: Label Component 06:51
138 Refactor Time: Flash Errors 01:40
139 Employer: Register as an Employer 13:18
140 Employer: Middleware Checking for Permissions 12:20
141 Employer: Adding Jobs Form 16:15
142 Employer: Adding Jobs Logic 11:44
143 Employer: Job List 14:27
144 Employer: Editing Job Offer 12:27
145 Employer: Job Policy 14:30
146 Employer: Soft Deletes 10:36
147 Employer: Soft Deletes - Querying for Trashed Records 05:55
148 Where Are We Right Now? 01:53
149 Welcome to the Course! 02:10
150 About Laravel Versions (OPTIONAL) 01:49
151 Setup Recommendations and Course Prerequisites 03:52
152 Code Editor: Visual Studio Code Setup and Recommendations 06:00
153 Course Source Code 02:24
154 Additional Learning Resource (Cheat Sheet, Diagrams) 01:42
155 Windows - Setting Up XAMPP (PHP/Apache/MySQL) 03:16
156 Windows - PHP in the Command Line 02:37
157 Windows - Composer 01:54
158 Mac - Setting Up XAMPP (PHP/Apache/MySQL) 02:59
159 Mac - PHP in the Command Line 04:27
160 Mac - Composer 01:40
161 Windows - Setting Up Virtual Host in Apache 04:22
162 Windows - Setting Up Host on the System 01:42
163 Mac - Setting Up Virtual Host in Apache 03:21
164 Mac - Setting Up Host on the System 02:17
165 Laravel Project Structure Overview 03:25
166 Artisan Command 03:11
167 Understanding Routing in Laravel 01:57
168 Defining Routes 03:05
169 Managing and Naming Routes 02:54
170 Route Parameters 03:27
171 Optional Route Parameters 03:40
172 Constraining Possible Route Parameters Values 04:12
173 Understanding Templating, Views and Blade 05:27
174 Template Inheritance and Layouts 07:49
175 Passing and Rendering Data in Templates 04:58
176 Simple View Rendering Routes 02:06
177 Conditional Rendering 03:29
178 Conditional Rendering Alternatives 03:27
179 Loops in Templates 06:22
180 More Control Inside Loops 06:16
181 Partial Templates (Including Templates) 04:11
182 Partial Templates in Loops 02:52
183 Responses, Codes, Headers, and Cookies 04:59
184 Redirect Responses 04:19
185 Returning JSON 01:21
186 Returning File Downloads 02:29
187 Grouping Routes 03:23
188 Request Input (Reading User Input) 04:33
189 Request Input - An Overview of Options 01:45
190 Middleware - Running Code Before & After Request 04:20
191 Controllers 05:09
192 Single Action Controllers 01:57
193 Resource Controllers 01:32
194 Implementing a Resource Controller 05:40
195 Configuration and Environments Overview 03:47
196 Configuring the Database Connection 03:29
197 Databases Bird's Eye Overview 01:46
198 Migrations Overview 02:41
199 Creating and Running Migrations 05:06
200 Understanding Eloquent ORM Models 02:09
201 Models - Creating and Updating, Introducing Tinker 03:20
202 Models - Retrieving Single Model 02:12
203 Models - Retrieving Multiple Models and Collections Overview 02:17
204 Models - Using the Query Builder 04:15
205 Practical - List of Blog Posts and Single Blog Post 03:22
206 Forms Markup 04:15
207 Cross Site Request Forgery Explained 04:31
208 Forms - Storing Submitted Data 03:37
209 Forms - Input Validation 04:02
210 Forms - Displaying Validation Errors 02:51
211 Forms - Form Request Classes 03:22
212 Session Flash Messages 02:16
213 Forms - Old Input Helper 01:30
214 Forms/Models - Model Mass Assignment 05:18
215 CRUD - Edit Form 08:58
216 CRUD - Update Action 03:40
217 CRUD - Deleting Using Forms 04:52
218 CRUD - Deleting Models 03:02
219 Introduction to Laravel Mix 03:31
220 Installing Bootstrap CSS Framework 02:15
221 Using NPM and Compiling Assets With Mix/Webpack 03:30
222 Including Assets in Views 01:31
223 Versioned Assets (Cache Improvements) 02:58
224 Introduction to Bootstrap CSS 02:14
225 Understanding CSS Flexbox in General and in Bootstrap 03:24
226 Layout Grid and Styling Header Bar 08:04
227 Styling Forms 02:56
228 Styling Post List Page 02:57
229 Styling Single Post Page 03:14
230 Styling Flash Messages and Error Messages 01:55
231 Testing 07:04
232 Testing configuration and environment 04:51
233 Writing first functional test 07:18
234 Testing database interactions 08:14
235 Testing store() action (model creation) 05:36
236 Testing for failure 07:42
237 Testing update() action (model updates) 07:21
238 Testing delete() action (model deletion) 05:20
239 One to One relation with migration 08:48
240 One to One assigning relationship 08:45
241 One to One querying relationship 07:39
242 One to Many relation with migration 07:23
243 One to Many assigning relationship 05:59
244 One to Many querying relationship 05:25
245 Lazy Loading vs Eager Loading 07:21
246 Querying relationship existence 07:44
247 Querying relationship absence 03:57
248 Counting related models 05:12
249 Using withCount() in practice (fetching count of comments) with test 05:13
250 Model Factory introduction 12:06
251 Model Factory states 14:54
252 Model Factory callbacks (afterCreating, afterMaking) 08:41
253 Application: Implementing comment list 06:52
254 Authentication overview 12:26
255 How user registration works in Laravel 15:39
256 Guard component and how logging users in works 16:58
257 Custom registration form and Auth routes 07:46
258 Formatting validation errors 07:50
259 RedirectIfAuthenticated middleware 03:16
260 Log-in form with "Remember Me" feature 07:13
261 Logging out, @guest directive, debugging CSRF token errors 11:43
262 Retrieving the currently authenticated user 04:32
263 Protecting routes (requiring authentication) 05:13
264 Testing routes that require authentication 10:21
265 Refreshing database, database foreign keys and existing data 14:46
266 Problem: SQLite test database NOT NULL problem 02:32
267 Database seeding basics 05:38
268 Using Model Factory inside Seeder 05:44
269 Model relations inside seeder 10:21
270 Individual seeder classes 08:52
271 Making seeder interactive 11:53
272 Deleting related model using model events 06:04
273 Deleting related models using cascading 05:23
274 Soft deletes 04:59
275 Soft deletes querying 06:44
276 Restoring soft deleted model 10:43
277 Testing soft deleted models 03:06
278 Authorization introduction 06:15
279 Introduction to Gates 08:48
280 Using authorize() helper 02:52
281 Verifying permissions of the user 04:13
282 Admin users and overriding permissions 13:11
283 Policies introduction 11:38
284 Policy or Gate? 14:02
285 Verifying permissions in Blade templates 05:47
286 Using middleware to authorize routes 10:38
287 Application: updating tests 06:25
288 Application: setting user_id for the new BlogPost 03:49
289 Global Query Scopes introduction 09:06
290 Global Query Scopes and potential issues 10:41
291 Local Query Scopes introduction 10:01
292 Practical: Local Query Scope - most commented posts 09:57
293 Practical: Local Query Scope - most active users 10:05
294 Practical: Local Query Scope - most active users last month 12:17
295 Practical: Global Query Scope - admin can see deleted posts 15:31
296 Blade Components introduction 09:34
297 Component aliases 03:34
298 Conditional rendering in Component 05:32
299 Practical: creating reusable component for dates 08:20
300 Complicated example of conditional rendering 10:11
301 Application: Fixing an issue with HAVING clause 02:08
302 Caching introduction 08:02
303 Laravel Debugbar 10:32
304 Storing data in cache 11:16
305 Removing from cache 07:18
306 Cache facade 04:04
307 Practical: using cache as storage 06:46
308 Practical: using cache for storage implementation 13:27
309 Using and setting up Redis as cache storage 10:27
310 Cache tags introduction 06:11
311 Practical: using cache tags 08:28
312 ManyToMany introduction 02:40
313 ManyToMany migration 05:38
314 Defining ManyToMany on models 03:38
315 Associating models in ManyToMany 10:36
316 Querying the ManyToMany relation and Pivot tables 07:31
317 Practical: displaying the list of tags using Blade component 06:17
318 Practical: list of blog posts by tag 10:23
319 Blade View Composers 08:40
320 View Composer with @include 08:00
321 ManyToMany seeding 14:05
322 Practical: User to Comment OneToMany relation and migration 07:02
323 Practical: comments form and reusable errors component 09:06
324 Route Model Binding 13:34
325 Eager loading nested relationships 08:32
326 Converting repeating queries to query scopes 03:38
327 File Storage introduction 09:50
328 File upload form 02:18
329 Handling file uploads 09:07
330 Using Storage facade to store files 10:42
331 Getting the URL of stored file 10:03
332 Practical: Image model, OneToOne relation and migrations 08:23
333 Uploaded image URL 06:35
334 Practical: Displaying uploaded image and styling 05:21
335 Deleting files 05:07
336 Validating uploaded files (size, type, dimensions) 06:20
337 Section intrduction 02:14
338 Practical: Scaffolding UserController and UserPolicy, using authorizeResource 12:14
339 Practical: Views for showing/editing user profile 13:48
340 OneToOne Polymorphic explained 04:07
341 OneToOne Polymorphic migration 06:28
342 OneToOne Polymorphic defining relation 02:43
343 OneToOne Polymorphic associating 04:03
344 Practical: OneToOne Polymorphic with BlogPost and Image 13:03
345 OneToMany Polymorphic explained 02:04
346 OneToMany Polymorphic migration & relation 06:16
347 OneToMany Polymorphic associating 09:56
348 Practical: OneToMany Polymorphic views 14:22
349 Practical: Running tests on MySQL database 07:29
350 OneToMany Polymorphic seeder 07:18
351 ManyToMany Polymorphic explained 05:49
352 ManyToMany Polymorphic migration 14:53
353 ManyToMany Polymorphic relations 05:13
354 Understanding model Traits 04:21
355 Creating Taggable model trait 19:16
356 Development setup for sending emails 06:22
357 The Mailable class explained 10:19
358 Rendering e-mail content and e-mail sending 10:28
359 Attaching files & data to e-mails 10:40
360 Embedding an image inside the e-mail 05:23
361 Markdown Mailable classes explained 04:56
362 Creating the Markdown Mailable class 09:23
363 Custom Markdown e-mail component and styling 07:09
364 Rendering e-mail previews in browser 02:12
365 Queues and background processing introduction 08:14
366 Configuring queues, creating and running the first job 10:08
367 Optional e-mail queuing and execution delay 05:19
368 Dealing with failed jobs 09:55
369 Creating and dispatching custom jobs 06:08
370 Implementing custom job that dispatches other jobs 17:06
371 Rate Limiting queues 16:05
372 Named queues and prioritizing 06:16
373 Model Observers 11:07
374 Events and Listeners 08:53
375 Practical: Custom Event and Listener 10:31
376 Second example of Event and Listener 09:52
377 Logging basics in Laravel 07:10
378 Handling built-in Laravel events with Subscriber 08:22
379 Localization introduction and demo 04:42
380 Configuring locale and translation overview 04:41
381 Translating plural forms, passing data 13:48
382 Storing translations in JSON 05:51
383 Translating the application 07:48
384 Storing user preffered language in database 11:38
385 Creating custom Locale Middleware 10:53
386 Adding language to URL through Apache configuration 09:34
387 What is a Service and creating a custom one 07:08
388 Service Container in practice 09:57
389 Basic Dependency Injection 08:16
390 Dependency Injection and Contracts 12:17
391 Contracts explained 10:44
392 Facades explained 07:48
393 Postman - a quite long introduction 16:49
394 How Model serialization works 05:59
395 Hiding model attributes 04:49
396 Serializing model relations 05:46
397 API Resources introduction 09:36
398 Serializing model relations using a Resource class 04:34
399 Limiting serialization only to eager loaded relations 03:02
400 Conditional serialization of properties 03:24
401 API routes and controllers 14:41
402 Practice defining API routes 16:49
403 Returning a resource collection and response wrapping 04:59
404 Collection pagination 03:51
405 Collection pagination and custom parameters 04:24
406 Storing a new resource 07:40
407 API Tokens explained and implemented 15:33
408 Returning one, updating and deleting resources 08:56
409 Handling 404 (resource not found) 09:39
410 API Authorization 16:19
411 Testing API GET methods, verifying JSON structure 11:25
412 Testing API GET methods, verifying JSON structure II 08:09
413 Test API storing (POST) resources, authentication and validation 10:18

Similar courses to Master Laravel for Beginners Intermediate

Test-Driven Laravel

Test-Driven Laraveladamwathan

Duration 21 hours 48 minutes 56 seconds
SOLID Code in Laravel

SOLID Code in Laravellaraveldaily.com

Duration 1 hour 46 minutes 51 seconds
RESTful API with Laravel: Build a real API with Laravel

RESTful API with Laravel: Build a real API with Laraveludemy

Duration 14 hours 30 minutes 19 seconds
Laravel Eloquent: Expert Level

Laravel Eloquent: Expert Levellaraveldaily.com

Duration 3 hours 46 minutes 18 seconds
Laravel Backends for Vue.js 3

Laravel Backends for Vue.js 3vueschool.io

Duration 3 hours 44 minutes