Udemy - Master Laravel PHP for Beginners and Intermediate
Get from zero to proficiency in Laravel PHP Framework in one week! Course for beginners and intermediate students!
Description
Course content
- Introduction
- Introduction
- Making most out of this course
- Setting up Environment (using XAMPP)
- Visual Studio Code - extensions, shortcuts and tricks
- Visual Studio Code Extensions
- Installing PHP & Apache on Windows using XAMPP
- Installing PHP & Apache on Mac using XAMPP
- Laravel Essentials 101
- Laravel 8 Breaking Changes!
- Routes, Views & Layouts
- View Routes, Route Parameters, Rendering Data
- Named routes and generating URLs
- Laravel 8 Changes to Controllers (IMPORTANT!)
- Controller basics
- Database configuration and environment variables
- Laravel 7 Changes in Migrations
- Introduction to database migrations
- Creating and managing migrations
- Laravel 8 Changes to Models
- Laravel Tinker and Eloquent models
- Creating, updating and reading data and making simple database queries
- Resource controllers
- Blade directives @if, @foreach, dates
- Forms and CSRF tokens
- Redirects
- Session flash messages
- Validation basics
- Displaying validation errors
- Form requests
- Mass assignment in Eloquent model
- old() helper in forms
- Creating data editing forms
- Updating Eloquent model
- Including another view in Blade
- Deleting models
- Deleting models using forms
- Laravel 7 and 8 Update: Laravel UI/Laravel Jetstream
- Laravel Mix: handling javascript and CSS assets
- Basic styling of applications
- Testing Basics
- Testing
- Testing configuration and environment
- Writing first functional test
- Testing database interactions
- Testing store() action (model creation)
- Testing for failure
- Testing update() action (model updates)
- Testing delete() action (model deletion)
- One to One Eloquent Relations
- One to One relation with migration
- One to One assigning relationship
- One to One querying relationship
- One to Many Eloquent Relations
- One to Many relation with migration
- One to Many assigning relationship
- One to Many querying relationship
- Querying Basics
- Lazy Loading vs Eager Loading
- Querying relationship existence
- Querying relationship absence
- Counting related models
- Using withCount() in practice (fetching count of comments) with test
- Model Factories
- Model Factory introduction
- Model Factory states
- Model Factory callbacks (afterCreating, afterMaking)
- Application: Implementing comment list
- Authentication
- IMPORTANT: Laravel 7 and Laravel 8 Changes
- Authentication overview
- How user registration works in Laravel
- Guard component and how logging users in works
- Custom registration form and Auth routes
- Formatting validation errors
- RedirectIfAuthenticated middleware
- Log-in form with "Remember Me" feature
- Logging out, @guest directive, debugging CSRF token errors
- Retrieving the currently authenticated user
- Protecting routes (requiring authentication)
- Testing routes that require authentication
- Database Seeding
- Refreshing database, database foreign keys and existing data
- Problem: SQLite test database NOT NULL problem
- Database seeding basics
- Using Model Factory inside Seeder
- Model relations inside seeder
- Individual seeder classes
- Making seeder interactive
- Deleting Models and Soft Deletes
- Deleting related model using model events
- Deleting related models using cascading
- Soft deletes
- Soft deletes querying
- Restoring soft deleted model
- Testing soft deleted models
- Authorization, Policies, Gates
- Authorization introduction
- Introduction to Gates
- Using authorize() helper
- Verifying permissions of the user
- Admin users and overriding permissions
- Policies introduction
- Policy or Gate?
- Verifying permissions in Blade templates
- Using middleware to authorize routes
- Application: updating tests
- Query Scopes - Local & Global
- Application: setting user_id for the new BlogPost
- Global Query Scopes introduction
- Global Query Scopes and potential issues
- Local Query Scopes introduction
- Practical: Local Query Scope - most commented posts
- Practical: Local Query Scope - most active users
- Practical: Local Query Scope - most active users last month
- Practical: Global Query Scope - admin can see deleted posts
- Laravel Blade Components
- Blade Components introduction
- Component aliases
- Conditional rendering in Component
- Practical: creating reusable component for dates
- Complicated example of conditional rendering
- Application: Fixing an issue with HAVING clause
- Caching
- Caching introduction
- Laravel Debugbar
- Storing data in cache
- Removing from cache
- Cache facade
- Practical: using cache as storage
- Practical: using cache for storage implementation
- Using and setting up Redis as cache storage
- Cache tags introduction
- Practical: using cache tags
- Many to Many Eloquent Relations
- ManyToMany introduction
- ManyToMany migration
- Defining ManyToMany on models
- Associating models in ManyToMany
- Querying the ManyToMany relation and Pivot tables
- Practical: displaying the list of tags using Blade component
- Practical: list of blog posts by tag
- Blade View Composers
- View Composer with @include
- ManyToMany seeding
- Wrap Up #1 (Reusable Components, Query Scopes, Route Model Binding)
- Practical: User to Comment OneToMany relation and migration
- Practical: comments form and reusable errors component
- Route Model Binding
- Eager loading nested relationships
- Converting repeating queries to query scopes
- File Storage and Uploading
- File Storage introduction
- File upload form
- Handling file uploads
- Using Storage facade to store files
- Getting the URL of stored file
- Practical: Image model, OneToOne relation and migrations
- Uploaded image URL
- Practical: Displaying uploaded image and styling
- Deleting files
- Validating uploaded files (size, type, dimensions)
- One to One Polymorphic Eloquent Relation
- Section intrduction
- Practical: Scaffolding UserController and UserPolicy, using authorizeResource
- Practical: Views for showing/editing user profile
- OneToOne Polymorphic explained
- OneToOne Polymorphic migration
- OneToOne Polymorphic defining relation
- OneToOne Polymorphic associating
- Practical: OneToOne Polymorphic with BlogPost and Image
- One to Many Polymorphic Eloquent Relation
- OneToMany Polymorphic explained
- OneToMany Polymorphic migration & relation
- OneToMany Polymorphic associating
- Practical: OneToMany Polymorphic views
- Practical: Running tests on MySQL database
- OneToMany Polymorphic seeder
- Many to Many Polymorphic Eloquent Relation
- ManyToMany Polymorphic explained
- ManyToMany Polymorphic migration
- ManyToMany Polymorphic relations
- Understanding model Traits
- Creating Taggable model trait
- Sending E-mails
- Development setup for sending emails
- The Mailable class explained
- Rendering e-mail content and e-mail sending
- Attaching files & data to e-mails
- Embedding an image inside the e-mail
- Markdown Mailable classes explained
- Creating the Markdown Mailable class
- Custom Markdown e-mail component and styling
- Rendering e-mail previews in browser
- Queues and Background Processing
- Queues and background processing introduction
- Configuring queues, creating and running the first job
- Optional e-mail queuing and execution delay
- Dealing with failed jobs
- Creating and dispatching custom jobs
- Implementing custom job that dispatches other jobs
- Rate Limiting queues
- Named queues and prioritizing
- Observers, Events, Listeners, Subscribers
- Model Observers
- Events and Listeners
- Practical: Custom Event and Listener
- Second example of Event and Listener
- Logging basics in Laravel
- Handling built-in Laravel events with Subscriber
- Localization (Translations)
- Localization introduction and demo
- Configuring locale and translation overview
- Translating plural forms, passing data
- Storing translations in JSON
- Translating the application
- Storing user preffered language in database
- Creating custom Locale Middleware
- Adding language to URL through Apache configuration
- Service, Service Container, Facades, Contracts
- What is a Service and creating a custom one
- Service Container in practice
- Basic Dependency Injection
- Dependency Injection and Contracts
- Contracts explained
- Facades explained
- Model serialization and Postman
- Postman - a quite long introduction
- How Model serialization works
- Hiding model attributes
- Serializing model relations
- API Resources
- API Resources introduction
- Serializing model relations using a Resource class
- Limiting serialization only to eager loaded relations
- Conditional serialization of properties
- API in Laravel
- API routes and controllers
- Practice defining API routes
- Returning a resource collection and response wrapping
- Collection pagination
- Collection pagination and custom parameters
- Storing a new resource
- API Tokens explained and implemented
- Returning one, updating and deleting resources
- Handling 404 (resource not found)
- API Authorization
- Testing APIs
- Testing API GET methods, verifying JSON structure
- Testing API GET methods, verifying JSON structure II
- Test API storing (POST) resources, authentication and validation
Master_Laravel_PHP_for_Beginners_and_Intermediate.part12.rar
Master_Laravel_PHP_for_Beginners_and_Intermediate.part11.rar
Master_Laravel_PHP_for_Beginners_and_Intermediate.part10.rar
Master_Laravel_PHP_for_Beginners_and_Intermediate.part09.rar
Master_Laravel_PHP_for_Beginners_and_Intermediate.part08.rar
Master_Laravel_PHP_for_Beginners_and_Intermediate.part07.rar
Master_Laravel_PHP_for_Beginners_and_Intermediate.part06.rar
Master_Laravel_PHP_for_Beginners_and_Intermediate.part05.rar
Master_Laravel_PHP_for_Beginners_and_Intermediate.part04.rar
Master_Laravel_PHP_for_Beginners_and_Intermediate.part03.rar
Master_Laravel_PHP_for_Beginners_and_Intermediate.part02.rar
Master_Laravel_PHP_for_Beginners_and_Intermediate.part01.rar