
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.
Explore object oriented programming by creating a simple book class with properties and methods, then instantiate multiple books using the new keyword with titles, authors, isbn, and availability.
Explore classes with properties and methods by building a class that concatenates title and author for output, accesses members with this, and manages availability with a get copy method.
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.
Explore static properties and methods, using the static keyword and self or class name with the double colon to manage class-level data like auto-incrementing IDs without instantiating objects.
Explore namespaces in PHP, using use and as to import classes, avoid name collisions by aliasing, organize classes into domain folders, and prep for autoloading.
Learn how autoloading works: a function takes a class name and automatically loads the corresponding file from a directory, enabling on-demand class loading without manual requires.
Explore inheritance by extending a parent class to inherit properties and methods via protected or public members. Move shared attributes to a person class and extend customer to reuse them.
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.
Implement interfaces and extend classes to support basic and premium users, enforce contractual methods, and explore interface inheritance in a Laravel multi-user blogging platform.
Explore polymorphism where different classes implement the same interface to process payments. Treat basic and premium customers uniformly as the interface handles tax considerations and payment logic behind the scenes.
Explore how traits enable code reuse by extracting an ID system into a trait, then integrating it into a class with namespace, use, and setter methods.
Explore how to resolve method collisions when multiple traits define the same method, and learn to alias or rename with as and insteadof in a class.
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.
Set up and connect the database, then generate authentication with artisan make commands, run migrations, and implement blade templating for login, registration, and password resets in a Laravel multi-user blog.
Create a new blog model with its migration, define title and body fields, and use artisan migrate to set up database, then build a view and controller for blog creation.
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.
Create a blog block form with title and body fields. Submit to a named route handled by blocks controller store, using a request class with type hinting and csrf protection.
Save a blog to the database using the request data and the model's create method with fillable title and body.
Learn to configure a model to use a custom database table instead of the default plural, by assigning a specific table name and managing migrations with rollback and refresh.
Implement route parameters to fetch and display a full blog post by id, using a show method, find, and database query to render the blog 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.
Discover how to use Laravel Mix to concatenate multiple css files into one output, then reference the single file in your layout to simplify styling.
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.
Create a role model and migration for a roles table with admin, author, and subscriber. Seed the roles and assign a default subscriber role to new users to control access.
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 and configure the admin page in a Laravel multi-user blogging platform by building an admin control, setting admin routes, and applying middleware for access control.
Explore creating and applying admin middleware in a Laravel multi-user blogging platform, using router level and controller level approaches, enforcing authentication and redirecting unauthorized users.
Apply controller level middleware in Laravel to protect admin routes using a constructor. Model a pivot table for the blog and categories relationship and seed data with factories.
Learn to generate fake data with factory and Faker, define blog models, run seeds to create hundreds of blogs, and prepare category relationships via a pivot table.
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.
Learn to implement a belongs to many relationship between blogs and categories in a Laravel multi-user platform, define models, sync relations, and assign categories when creating a blog.
Learn to accelerate Laravel development by generating a resource controller and resource routes for category crud operations. Use artisan make:controller --resource and Route::resource to auto-create index, store, update, and destroy.
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.
Explore building a category management experience in a Laravel blog app by implementing the edit and show pages, including routes, a show view, and an update flow with slug handling.
Learn how to update and delete categories in a Laravel multi-user blogging platform, including handling category name and slug, saving changes, and implementing destroy routes.
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.
Explore how to display blog categories, link each category to its posts, and show related blogs using category relationships and friendly slugs in a Laravel multi-user blog with seo.
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.
Block the unused categories for a blog by filtering the full category list with the array_except helper, removing blog categories and displaying the remaining categories for selection.
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 to dynamically set a blog page's meta title and description in a Laravel app using Blade, based on blog data, with an introduction to view composers.
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.
Manage blogs with an admin interface that separates published and draft posts, exposes routes and controls to publish or draft posts, and displays both lists for quick management.
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.
Explain how to create and register an author middleware in Laravel, restricting routes to user IDs 1 or 2, and apply it to create, read, update, and delete actions.
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.
Manage users in a Laravel multi user blogging platform, enabling admins to view all users and update roles such as subscriber or author for seo-friendly administration.
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.
Implement slug-based routing by generating slugs from user names and blog titles, add slug fields to users, update controllers and links to use slugs for profiles and blogs.
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.
Display blog images and excerpts on the index, limit body text to 200 words, style titles and bodies for readability, and restrict edit/delete controls to admins and post authors.
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.
Implement a mass email feature in a Laravel multi-user blogging platform, sending blog update emails to all users via Mailtrap, with configurable mail drivers and environment variables.
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.
Create a Laravel contact form with a controller, routes for display and post submission, an email template, input validation, and sending mail via a mailable class.
Learn to push your Laravel project to GitHub, initialize git, configure user details, create and push to a remote repository, and manage commits from any local machine.
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.
Set up a Laravel database connection, configure environment variables, create a new database, and enable a built-in login and registration system with migrations and a users table.
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.
Learn to use php artisan tinker to interact with the database via Eloquent, create and save blog instances with the new keyword, inspect changes, and exit with quit.
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.
Set up a Bootstrap layout using container, row, and a 12-column grid for responsive design, wrap content in a jumbotron, and link custom CSS in a blade view.
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.
Learners implement clickable blog titles to show full posts by routing to a dedicated show method, passing the blog data via compact, and wrapping content in semantic article markup.
Update navigation with a blogs link and rename the app in config from Lovelle to new books. Learn to get and view comments and their status.
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.
Delete a blog by sending a delete request to the destroy method via a form, then redirect to the blog space; next lesson covers soft delete for recovery.
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 system in Laravel by adding a role_id field through a migration, assign new users to role id 2 by default via the register controller during registration.
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.
Prettify the home page to look more interesting, update the welcome copy and layout, and refine the page content with live previews for a multi-user blogging platform optimized for SEO.
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!