
Learn object oriented programming fundamentals with Laravel, covering classes, properties and methods, visibility, autoloading, inheritance, interfaces and exceptions for building powerful, database-driven MVC apps with built-in authentication.
Explains magic methods with a focus on the constructor, showing how to define and pass arguments to a constructor so code runs automatically upon instantiation and initializes object properties.
Explore magic methods such as toString, default arguments, and type hinting, and see how they run behind the scenes to control object representation, argument handling, and type safety.
Explains private, protected, and public visibility in classes, showing how private restricts access to the class, protected enables access in child classes, and public allows external access, with hands-on examples.
Learn how encapsulation uses accessors and mutators to access private properties without exposing them directly, preserving internal structure while providing safe public methods like get full name and get email.
Learn how a child class overrides a method from its parent, with the child method taking precedence and the option to access the parent implementation when needed.
Learn how abstract classes enforce method contracts in an inheritance hierarchy, turning the customer class into an abstract base and requiring basic and premium subclasses to implement key methods.
Explore abstract classes and abstract methods, showing how child classes implement required methods such as get monthly fee, and why abstract classes cannot be instantiated.
Explore interfaces and their difference from abstract classes, focusing on public methods, contract enforcement, and the implement keyword.
Learn to validate input types with accepts, throw exceptions for invalid data, and handle errors using try, catch, and finally within a Laravel context.
Install a new Laravel project, configure the environment file, and set up routes and views. Define get routes to return views like welcome or blog from the resources/views directory.
Seed the database with fake blog data using php artisan tinker, creating blog instances with titles and bodies, saving them, and preparing to fetch via routes and views.
Create a Laravel route and controller to fetch all blogs and pass them to a blade index view using compact, then render titles and bodies.
Extend blade templates and layouts with sections and yields, manage authentication routes, and set up bootstrap navigation to render dynamic blog content for a multi-user blogging platform.
Save a blog to the database using the request data and the model's create method with fillable title and body.
set up a landing page with blocks and navigation to showcase content and branding. implement redirects after login and register to direct users to the home base.
Update a blog using route parameters and a patch-based update in the controller, with a pre-populated edit form and post-update redirect.
Implement delete functionality for blog blocks by routing a delete request, wiring a controller delete method, and using a CSRF-protected form with a delete button to remove a blog.
Learn how to implement soft deletes with the SoftDeletes trait in a blog platform, including adding a deleted_at field, accessing trashed records, and restoring or permanently deleting blogs.
Implement a restore from trash feature for blogs in a Laravel multi-user platform, adding routes and a restore method, plus two buttons for permanent delete.
Learn how to permanently delete a blog from trash in a Laravel multi-user blogging platform. The lecture covers route setup, post method forms, and role-based controls for admins and subscribers.
Add a role_id field to the existing users table via a migration, update the model fillable properties, and verify the field appears when creating a new user.
Explore eloquent relationships in Laravel, including one-to-many and many-to-many between users and roles, using belongs to and has many, with method chaining, and build admin controller for role management.
Create a category model and migration, add slug and name fields with a unique index, configure a two-way relationship with blocks, and seed initial categories.
Seed three categories with names and slugs in the category table and implement a pivot table for a many-to-many link between categories and blogs.
Build a pivot table to connect blogs and categories in a belongs to many relation, using blog_id and category_id, with proper Laravel naming conventions.
Show all characters in an index, parse their categories from an array, and enable category-based listing and creation features in a Laravel multi-user blogging platform.
Create categories in a Laravel blog app with a form and controller. Generate slugs from the name by lowercasing and replacing spaces with underscores, then save via create.
Learn how to create a blog with multiple category selection by displaying categories as checkboxes, passing them from the controller to the blade, and syncing them on store.
Synchronize blogs with categories and characters using belongsToMany relationships, processing category IDs from requests, and updating the pivot table to attach the blog to selected categories.
Learn how to sync blog categories during updates by sending selected categories in the edit flow and reflect them on the form.
Learn to display the current categories assigned to a blog using the blog category relationship, count categories, and render checked states for existing categories in a Laravel multi-user blogging platform.
Add a featured image to blogs by migrating to add a nullable featured_image string, update the form for image upload, and store image names without changing existing data.
Learn to upload a featured image for blog creation, handle multipart form data, store images in public directories, and save the image name to the blog's feature_image field.
Learn to display uploaded blog images with featured image handling in a Laravel blade layout, prevent broken images, and apply responsive styling and title truncation to improve presentation.
Explore how to dynamically generate blog titles, meta titles, and descriptions to optimize search engine visibility and improve Google ranking for a multi-user blogging platform.
Modify the blog migration to add slug, meta title, and meta description for posts, with slug unique and indexed, using the article title and first words as seo content.
Learn to generate slugs from blog titles and create optimized meta titles and descriptions using Laravel, with character limits for seo-ready blog content.
Demonstrate rendering static and dynamic meta titles and descriptions in a Laravel blog layout, using blade templates and sections to apply metadata for blog posts.
Learn how to create a view composer in a Laravel service provider, register it in the boot method, and share data across multiple views using a callback.
Implement a view composer to show blog counts in the navigation bar by extracting the navigation into a partial and registering the composer in a service provider.
Add a TinyMCE rich text editor to blog creation by integrating the script, targeting the textarea, and enabling basic blocks, along with image uploads via a file manager.
Implement a file manager in the Laravel multi-user blog app, install and configure packages, integrate TinyMCE, enable image uploads, and manage media via the file manager.
Add a status field to blogs to manage draft and published states, enable admin approval, and query published posts to control visibility.
Fix the dynamic meta tags by rendering blog-specific title and description in the layout via dynamic blocks and partials; set up an admin view to manage draft or published posts.
Toggle blog status between draft and published with a form that posts to the update method, enabling admins to switch posts and manage publication.
Enable the logged in user to create a blog by adding user_id to the blocks table and defining the user has many blocks and block belongs to user.
Learn to conditionally display admin, author, or subscriber links in a Laravel multi-user blog by checking authenticated user roles and publishing status to tailor the UI.
Create a single dashboard for admin, author, and subscriber by applying admin middleware and dynamic view logic, enabling a unified interface that redirects authenticated users and tailors content by role.
Build user management in a Laravel multi-user blogging platform by updating and deleting users through a controller, using id lookup and role changes. Guard access with admin middleware.
Display each blog with its author and creation date, and link the author name to a user profile page that shows the author’s blogs and profile details.
Learn how to implement validation rules in a Laravel multi-user blogging platform, including title and body constraints, using the validate method, and display errors in Blade views with Bootstrap alerts.
Learn how to use session flash messages in Laravel to show post-create confirmations after redirects, display alerts in views, and customize messages with bootstrap alerts.
Enhance the app with admin user management and roles, gradient styling for the jumbotron, improved blog forms with image uploads and a rich editor, and blog editing workflows.
Fix the featured image update in the Laravel multi user blogging platform by handling image upload, sanitizing file names (spaces to underscores, lowercase), and removing old images.
Learn how to restrict edit and delete actions to admins and the blog's author by conditionally displaying controls based on user role and author identity.
Learn to implement the Disqus commenting system in a blog by copying the embed script, inserting it after articles, and enabling comments across pages.
Learn to implement mass email notifications for new blog posts in a Laravel multi-user blogging platform, using a blog published class, queue-based mail, and a simple email template.
learn to clone a Laravel project from GitHub, install dependencies with composer, configure a database and app key, and run and explore different commits and admin and comments features locally.
For mac users: you can also use valet to setup local development environment instead of Homestead/Vagrant. Valet is much easier to install and use.
Here is the official link that will guide you through the installation process using valet:
https://laravel.com/docs/5.6/valet
Install a fresh Laravel project in a Homestead Vagrant environment, create the app in sites folder, edit the hosts file, run Vagrant provision, and open the app in the browser.
Create a blog model and migration in Laravel to define a blogs table with id, title, body, and timestamps, then run migrations to update the database.
Create a blog controller with an index function that returns the blog/index blade view, then wire a get route in web.php to serve /blog using Blade templates in resources/views/blog/index.blade.php.
Fetches blog data from the database via the blog facade and all, passes it to the view with compact, and displays titles and bodies, including the latest entry.
Explore blade templating by extending a base layout, yielding blog content, and integrating bootstrap, fonts, and scripts for a consistent multi-user blog interface.
Install the laravel collective form package and configure providers and aliases. Create a blog form via a new route and controller create method, then render the blade view.
Create a front-end blog post form with fields for name, title, and body, aligned to the database via migration, and include a bootstrap submit button to publish.
Apply custom css styling with a live css editor to the jumbotron, copy and paste the styles, and ensure they are linked in layouts blade.
Save a blog post to the database by handling the request data and using the blog model's create method with fillable fields set up.
Learn to implement blog editing in Laravel by creating a route with the blog ID, adding an edit button, building an edit view, and updating the blog via the controller.
Update a blog entry using route model binding in a multi user blogging platform, debugging errors, and editing the blog title and body with proper route and controller adjustments.
Learn how to implement soft delete in a Laravel blog by using a deleted_at field, migrating the table, and retrieving and permanently deleting trashed blogs, with routes and views.
Restore deleted blog posts from the trash using a restore function in Laravel. Create a route, controller method, and blade view with a restore blog button.
Permanently delete a blog from the database, then redirect to the blogs page to view deleted entries, using the destroy method and optional force delete in the blog controller.
Create a roles database seeder and add two user roles as instances: an instructor and a subscriber, then run the seeder and refresh the database for testing.
Register users with the default role of subscribers by configuring the users table and role_id, then test login and blog creation, while avoiding destructive commands in production.
Create an admin dashboard by configuring an admin route and index view, restricting access to the administrator (id 1), and reusing the blog index structure within an admin folder.
NOTE: This course was recorded using Laravel version 6 or earlier
"This course will teach you Fundamentals of Laravel, The Worlds most Popular Web Framework while Building Multi User Blogging Platform with SEO"
You will be building similar project but with additional features. Great for learning by building one project and repeating another while learning to add additional features.
However both projects are complete on their own, so it's not necessary to do both if you dont wan't to.
You will begin this course with OOP - object oriented programming, which is a must have knowledge to learn and understand how laravel framework works.
Then you will start learning laravel basics while applying everything you learn into a real world project, This is the best approach to learn and be able to build applications with laravel.
Every lesson in this course is packed with valuable tips that you can use to build any type of web application.
By the end of this course, you will have build a production ready Multi User Blogging Platform with SEO.
If you know the basics of php. You can begin with this course, learn the object oriented programming in the very first section and start building awesome web applications with laravel.
Let me show you some of the topics you will learn in this course. There is so much more but I have listed few of them here..
UNDERSTAND OBJECT ORIENTED PROGRAMMING - THE KEY TO UNDERSTAND LARAVEL FRAMEWORK
ROUTING - ROUTE PARAMETERS, NAMED ROUTES, ROUTE RESOURCE
MODEL - WORKING WITH MODELS AND UNDERSTAND HOW THEY COMMUNICATE WITH DATABASE
VIEWS - WORKING WITH VIEWS USING BLADE TEMPLATING SYSTEM
CONTROLLERS - HOW CONTROLLERS SIT BETWEEN MODEL AND VIEWS AND MAKE THINGS WORK (MVC PATTERN)
HTML FORMS - WORKING WITH PLAIN HTML FORMS AND HANDLING FORM DATA
CRUD OPERATIONS - CREATE READ UPDATE DELETE
LARAVEL ELOQUENT RELATIONSHIPS
IMPLEMENTING TRASH, RESTORE, PERMANENT DELETE AND DRAFT FEATURES
IMPLEMENTING USER ROLES SUCH AS ADMIN, AUTHOR
USING MIDDLEWARES TO SECURE YOU APPLICATION
APPLYING AUTHORITY, PERMISSION AND RESTRICTIONS
IMAGE UPLOAD
USER PROFILE
FLASH MESSAGES, PRETTY URL
EMAIL, CONTACT FORMS
DISQUS COMMENTING SYSTEM
FACKBOOK LOGIN
PAGINATION
SEARCH
DEPLOY THE WEB APP YOU BUILD - MULTI USER BLOGGING PLATFORM(SEO READY)
So the most exciting thing about this course is that it is constantly updating. I am adding new videos on a daily basis. By the end of this course, you will have build a MULTI USER BLOGGING PLATFORM, that is ready for deployment!
CONCLUSION:
This course is unlike any other course you will find online. This course is all you need to Become a Professional Laravel Developer. By the end of this courese, you will be able to build complex web applications for you or your client or for your boss.
So don't waste your time and money going through 10 different sites, learning from 10 different courses. This one course is all you need to become a professional Laravel developer. See you inside the course. Thank you!