
Learn to build a blog and cms front end with Laravel 5, set up a development environment with composer and the installer, and manage posts, categories, and users with acl.
Learn which Laravel 5.x version to use (5.0, 5.2, or 5.3) and how routing differs, with 5.2 using a single routes file and 5.3 split into three files.
Install a local development environment on your Windows machine using wampserver or xampp, with mariadb replacing mysql. Download from sites, install dependencies, and access localhost to continue with composer setup.
Install Composer and the Laravel installer to manage dependencies, verify PHP and extensions, create a new Laravel project, and run a local server to view the homepage.
Install a new Laravel project on Windows, load dependencies from cache, configure hosting with a hostname and port, and create a level_5_blog database for the blog app.
Create a reusable application layout for a Laravel 5 blog cms by extracting header, sidebar, and footer into a layout, wiring routes and views for blog posts, and integrating assets.
Create a posts table using Laravel 5 migrations, with user_id foreign key, id primary key, slug, body text, image, and timestamps, then seed with dummy data.
Seed the posts table with faker data to replace static posts. Generate titles, bodies, slugs, and images, and create three fake users for realistic dummy content.
Move post display from routes to a blog controller index method, pass posts to the index view with compact, and render images by validating their existence in the public directory.
learn to implement pagination for posts in a Laravel blog, set up user-post relationships, use eager loading, scopes, and paginate to display three posts per page with navigation.
Add a published_at column to posts via migration and use carbon to manage publication dates, enabling scheduled publishing and draft or future-post handling.
Display all published posts by adding a published date attribute and a published scope using carbon, then update the blog index to return only posts with publication dates.
Implement the blog post detail view in Laravel 5 by routing to a show method, passing post id or slug, and rendering the post data in the detail page.
Make the blog post seo friendly by implementing slug binding, model injection, and proper publication logic, ensuring posts display only when published and pages index correctly.
Enable markdown support in a Laravel 5 blog content management system by installing and configuring a markdown service provider, converting markdown bodies to HTML or email with headings.
Create post categories in Laravel by defining a categories table with name and slug, adding a category reference to posts, establishing the one-to-many relationship, and seeding dummy data.
Define relationships between category and post models, implement category filtering in the blog, load categories in the sidebar, and refine queries with eager loading to show only published posts.
Filter posts by category using slug-based routing for SEO, display the category name at the top, and fetch posts with a single query while showing an empty message when needed.
Implement an author filter for blog posts in a Laravel 5 CMS by adding a slug column, updating routes and models, and displaying posts by the selected author.
Learn to filter blog posts by author in a Laravel 5 CMS, including migrations, seeding, and showing author avatars with gravatar while refining categories and slugs.
Add a read-count column to posts, migrate and seed data, then display popular posts in the sidebar by loading data through a service provider and iterating in the view.
Display the sidebar image as a thumbnail instead of the original, implement thumbnail naming rules, and handle common image extensions to ensure fast, responsive post visuals.
Learn how to display popular posts and increment view counts in a Laravel 5 blog CMS, using update and increment, with view composers for clean data flow.
Customize a Laravel 5 blog 404 error page by extending the main layout, editing the 404 blade file, and applying a professional front-end template with footer tweaks.
Learn to set up a backend layout and login form with Laravel authentication, configure routes and admin homepage redirects, and implement remember me and token handling.
Set up a backend dashboard layout by creating and organizing layouts and partials, wiring assets and routes, and updating header, sidebar, and user elements in a Laravel 5 admin template.
Create a base controller for shared authentication and move middleware there, update namespaces, and adjust login and logout redirects. Disable registration by overriding the show registration form to abort 404.
Display blog posts in a Laravel 5 backend by building the index view, resource routes, and a posts table with edit links and post dates.
Learn how to build a Laravel 5 backend blog index with date formatting and publication status, implement 5 posts per page pagination, and display posts with category relationships.
Fix the blog index by updating breadcrumb links, correcting total post counting, and refining pagination margins with new client-side styles and an added post button.
Create a new post form in Laravel 5, click a button, configure email service provider, and build, validate, and save a post with title, URL, body, and category.
Create a new post form that validates title, slug, body, and publication date, stores the post with the current user, shows success messages, and refactors validation into a form request.
Upload a post image by handling the file upload to the server, saving the image filename in the posts table, and validating that the input is a real image.
Create a post image thumbnail by installing image package, configuring the driver, and resizing the uploaded image, saving the thumbnail as original name with an underscore and time before extension.
Auto-fill the slug from the title, clean with regex to lowercase and hyphenate, and implement a markdown editor for excerpt and body.
Enhance forms with a time picker plugin to use moment.js and bootstrap, covering installation via CDN or download, date and time input formatting, and image upload preview.
Improve the form layout with right-side widgets (feature image and category) using Box classes and Bootstrap columns; fix form tags, enable publish and drop actions, and add prevent-default handling.
Resolve the edit existing post flow by creating a dedicated edit view and a complete update method, with slug uniqueness that ignores the current post and proper validation.
Learn how to implement a soft delete workflow for posts in Laravel 5: move posts to trash, restore them, or permanently remove them, with migrations, model updates, and routes.
Learn how to delete an existing post in Laravel 5, including trashing, restoring, and permanently deleting posts, with routes, controller logic, and confirmation prompts.
Add a destroy method to remove a post and its image and thumbnail from the server, and clear old images on update, plus status-based post filtering.
Develop category management in a Laravel 5 blog by adding a categories index, create form, and routes; implement two form requests for validation and display each category's post count.
Learn to manage post categories in Laravel 5 by fixing edit and destroy flows, applying unique validation, and reassigning posts to the Uncategorized category when deleting.
Learn to manage users in a Laravel 5 blog CMS by duplicating category logic, creating a dedicated users controller, safeguarding the default user, and implementing validation for creating and updating.
Demonstrates safely deleting a user with posts by implementing confirmation prompts. Provides option to attribute posts to another user and resolves integrity constraints in Laravel 5.
Define roles such as admin, editor, and author, and implement permissions for posts, categories, and users to secure a multi-user blog with ACL in Laravel 5.
Install and configure an ACL package to implement roles and permissions in the Laravel blog CMS, publish the config, migrate tables, and create role and permission models.
Attach roles to users by creating admin, editor, and author roles, seeding them, and assigning roles via Eloquent attachable methods to each user, with permission checks.
Attach permissions to roles in a Laravel 5 blog CMS, configure and reset permissions, and verify access with can checks for posts, categories, and user actions.
Secure the backend with acl by implementing a permissions middleware in Laravel 5 to enforce role and permission checks for blog, categories, and users.
Secure a Laravel blog CMS by enforcing ACL checks via a permissions helper and check_permissions middleware, and disable unauthorized actions on the client side.
Add an extra link to display only the current user's posts by filtering in the blog index, retrieving the current user, and counting their posts.
Add role selection to the manage users form by loading roles and saving the chosen role on create. Enforce a single role and protect the default user with server-side validation.
Add slug and bio columns to the manage users form in a Laravel 5 app, update the user model fillable attributes, validate inputs, and test updates.
Show edit profile form by wiring routes and a home controller, implement update via user update requests, and hide the role dropdown when editing the current user profile.
Build a functional blog search form in Laravel, covering routing, form inputs, and preserving search terms through pagination while debugging queries with a query log.
Learn how to search posts by related models in Laravel using whereHas, filtering by category name or other relations, and applying title or excerpt criteria with the exists function.
Demonstrates implementing post tags in a Laravel 5 blog by building a many-to-many relation between posts and tags, with migrations, models, and tag attachment.
link dummy tags to posts and display them in the sidebar, passing tags to views. optimize queries with eager loading and hide tags that have no related posts.
Build a front-end post archive by publications in a Laravel 5 blog, using a category widget and eloquent queries to group published posts by year and month.
Explore building post archives in a Laravel 5 blog, implementing monthly filters, query string handling, and pagination, converting month names to numbers with Carbon, and displaying monthly post counts.
Generate a new comments table and model in Laravel, defining name, email, optional website, content, and a post_id foreign key, and establish that a post has many comments.
Seed the post comments table for the last five posts using a factory and faker, generating 1–10 comments per post with fake names and emails, timestamped hourly after post date.
Display all commands for the current blog post using a foreach loop, parse commands to render the name and date, while counting commands and updating dynamic post comments.
Learn to display blog post comments and add pagination using Laravel 5, retrieving comments with parent relationships and passing them to the view with pagination links.
Build a Laravel 5 blog comment form with form opening/closing, input and textarea bindings, link to post id and slug, handle submission, validate before storing, and display success messages.
Learn how to validate new blog comments in Laravel 5, enforce required fields like name, email, and comment, and display validation errors and success messages on the post page.
Learn three paths to upgrade a Laravel project from 5.2 to newer versions: use Laravel Shift, follow official upgrade guides, or create a new project and migrate code.
Learn how to upgrade a Laravel project to 5.6 by duplicating the old blog structure, migrating config, controllers, middleware, routes, and providers, and installing necessary packages with composer.
Upgrade a Laravel project to 5.6 by updating dependencies, registering providers, publishing vendor configs, and migrating databases, then verify admin login, posts, categories, and front-end functionality.
Upgrade your blog CMS to Laravel 5.6 by validating authorization, fixing category deletion, and aligning route placeholders from plural to singular while handling authorization exceptions.
Explore three deployment options for Laravel apps—shared hosting, a virtual private server, and Heroku—plus database choices from MySQL to PostgreSQL and related setup notes.
Migrate to postgres database by creating a new database, updating the laravel environment and db connection, adjusting queries and seeds, and handling migration errors to ensure data integrity.
Learn to initialize production data for a Laravel 5 blog CMS by configuring seeds and migrations, creating a single admin user, and setting default categories, roles, and permissions.
Deploy a Laravel application to Heroku by logging into Heroku, creating a remote, pushing the master branch, and configuring environment variables for production.
Deploy a Laravel application to Heroku, configure environment variables via the web dashboard, set up database credentials, run migrations and seeds, and test admin login, category creation, and image upload.
Deploy a Laravel app to Heroku by installing ext-gd, committing changes, pushing to git and Bitbucket, and publishing updates to go live.
If you are ready to take your web development skills to the next level, then you have come to the right place!
This course using a project driven approach to learn Laravel. In this course we'll learn Laravel PHP Framework from Scratch by building Real World application - Wordpress CMS clone Application.
This course contains practical and valuable information that you can use to build any Web applications.
By the end of this course you will be able to build Production Laravel Project from scratch and will make you confidence to build complex web application.
To give you a better sense of what you'll learn if you stick with me through this course, here's the rough breakdown.
In the firs lesson You'll learn:
How to setup local development environtment
How to install composer and laravel installer.
In the second lesson you'll learn:
How to setup frontend layout
Display all published posts with pagination
Show the blog post with SEO friendly url and show the author's bio and author's posts as well.
Display posts based on selected author
Display the categories with the number of posts in every category
Filter the posts based on the selected category
Filter the posts based on the selected author
How to display popular posts
How to custom 404 error page.
In third lesson, you'll learn:
How to setup AdminLTE as backend layout,
How to manage the post such as add a new post, upload and resize the post image, update the existing post, move the post to the trash, restore the post from the trash or delete the post permanently, filtering the post such as display current user's posts, display entire posts, display the posts on the trash, display the draft post, published post and schedule posts.
How to manage categories - create the category, validate category, update the category and delete the category.
How to Manage users to make application multi user support
In the fourth lesson you'll learn about Access Control List or ACL to restrict the authenticated users to perform various actions based on the roles or permissions they have. This will make our application more secure and prevent particular pages from being access by unauthorized users.
In the fifth lesson you'll learn:
How to add search form feature
How to add post tags feature
How to add post archives
How to handle comments to particular post
In the sixth lesson You'll learn how to create beautiful tags widget
In the seventh lesson You'll learn how to upgrade Your Laravel application to Laravel version 5.6.
In the eighth lesson You'll learn how to deploy Your Laravel application so that it can be accessible in the Internet.
In this course you'll also learn how to utilize Laravel artisan generator, you'll learn about database migration, database seeder, eloquent relationship, route model binding and much more.
Update Histories:
November 2019 - Added new lesson about Tags Management Module
July 2019 - Added new section about how to upgrade Laravel Application to Digital Ocean Virtual Private Server
April 2018 - Added new section about how to upgrade Application to Laravel 5.6
March 2018 - Added new section about deploy Laravel application to Heroku