Build Real World PHP MVC Framework From Scratch
4.0 (29 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
943 students enrolled

Build Real World PHP MVC Framework From Scratch

Create Your Own Form Validations Library, Files Upload Library, Session Library, Database Library and Ajax With MVC
4.0 (29 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
943 students enrolled
Created by Shakil Khan
Last updated 12/2018
English
English [Auto]
Current price: $119.99 Original price: $199.99 Discount: 40% off
2 days left at this price!
30-Day Money-Back Guarantee
This course includes
  • 18 hours on-demand video
  • 2 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Create Your Own MVC Framework
  • Create your own Form Validation library
  • Create your own Session library
  • Create your own Database library
  • Create your own Files Upload library
  • Create your own helpers
  • We will build form helpers, html helpers, anchor helpers & link helpers
  • You will learn how to use AJAX with custom MVC
  • AJAX crud application
  • We will create a professional layout using Pure/Vanilla CSS & HTML no Framework
  • Create Signup & Login from application with dashboard
Course content
Expand all 164 lectures 18:01:41
+ Tools Section
2 lectures 04:10

In this video we will download all the required tools in this video we will download the text editor, local server (Xampp Server). 

Preview 01:21

In this lecture I will show you how you can get the resource files of this course.

Download The Resource Files
02:49
+ Object Oriented Programming Basics
12 lectures 49:33

In this video I will give you the short overview of this section what we will do in this section.

Section Introduction
Processing..

In this video we will learn what is object oriented programming and what are the advantages of object oriented programming.

What is Object Oriented Programming
02:22

In this video, we will create the folder structure.

Create Folder Structure
01:12

In this video, we will learn what is a class and what is a class object.

What is a Class & Object
07:11

In this lecture we will learn what is $this keyword and how to use $this keyword.

What is $this Keyword
02:51

In this video we will learn what is the construct magic method, construct is magic method which is call automatically when user create the class object.

The Construct Method
03:39

In this video we will learn the destruct magic method, destruct method is automatically when class object is destroyed.

The Destruct Method
02:40

In this video we will learn what is the inheritance, using inheritance you can reuse the code of one class inside the another class.

What is The Inheritance
07:22

In this video we will learn what are access level modifiers.

Access Level Modifiers
05:38

In this video we will learn the static method, static method we access without class object.

Static Method
04:57
spl_autoload_register Method
08:47

In this video we will learn the __set magic method.

PHP Traits
02:54
+ PDO Basics
3 lectures 22:46

In this video I will give you the brief overview of this section what will do in this section.

Section Intro
00:34

In this lecture we will create the database connection using PDO class.

Create Database Connection
07:19

In this lecture we will perform the PDO Crud operation, I mean we will insert the data we will update, delete and select the data from data database using PDO.

PDO Crud Operation
14:53
+ Build MVC Framework
75 lectures 09:11:21

In this lecture I will give you the brief overview about this section, what we will do in this section.

Section Introduction
00:36

In this video we will learn what is MVC Framework and how it's working.

What is MVC ?
03:32

In this lecture we will create the folder structure for the MVC framework.

Create MVC Folder Structure
11:34

In this lecture we will create the .htaccess file to get the url, so for getting the url we need to create the .htaccess file.

Create .htaccess File
08:51

In this video we will remove public from the URL and also we will hide the application folder structure from the users, so we will create two .htaccess files.

Remove Public From The URL
02:27

In this lecture we will split the URL in three different parts, different parts means controller, method and parameters.

Split the URL
07:16

In this lecture we will load controller from the url, we will get the current url and after will get the controller from the url and after we will find the url controller in controllers folder.

Load Controller From The URL
15:12

This lecture is the part 02 of the "Load Controller From The URL " Lecture. In this lecture we will find the controller file in the controllers folder if it's found then we will replace default controller on the url controller if not found then we will display the error.

Load Controller From The URL Part 02
08:30

This lecture is the part 03 of the " Load Controller From The URL  " Lecture in this lecture we will include the controller file and also we will instantiate the controller class.

Load Controller From The URL Part 03
05:28

In this lecture we will check the method availability, if method is available then we will call the method of not available then we will show the error.

Check Method Availability
10:27

In this lecture we will check the parameters availability, if parameters is available then we will get the parameters and we will also call the normal methods.

Check Parameters Availability
08:55

In this lecture we will load view in the controller.

Load View
10:23

In this lecture we will pass data from the view.

Pass Data From The View
06:17

In this lecture we will load model in the controller, Because if you want to communicate with database then first you need to load the model in the controller.

Load Model In The Controller
13:23

In this lecture we will create the database connection.

Create Database Connection
09:10

In this lecture we will create a CRUD method will perform the CURD (Create Update Read & Delete) Operation.

Create CRUD Method/Helper For Queries
12:28

In this lecture we will create a method which we will count the number of rows from the specific table.

Create Num Rows Method/Helper
05:10

In this lecture we will create a method which will fetch all records from the table.

Create Fetch All Records Method/Helper
07:54

In this lecture we will create a method which will fetch only the single row from the table.

Create Single Row Method/Helper
02:59

In this lecture we will create another row count method.

Create Another Row Count Method/Helper
05:04

In this lecture we will a method which will select all records from the table.

Create Select Data Method/Helper
07:16

In this lecture we will create select_where method, this method we accept the select query along with WHERE statement.

Create Select_Where Method/Helper
18:29

In this lecture we will create the delete method, which delete the records from the table.

Create Delete Method/Helper
02:53

In this lecture we will create update method/helper which will update the table in the specific table.

Create Update Method/Helper
18:48

In this lecture we will create Insert method/helper, Insert method will support only the insert query.

Create Insert Method/Helper
17:29

In this lecture we will create the join method/helper which will fetch the matching data from two tables.

Create Join Method/Helper
10:21

In this lecture we will learn the left join what is left join? and how to use the left join.

Left Join
05:24

In this lecture we will learn the right join what is right join? and how to use the right join.

Right Join
02:45

In this lecture we will learn how to use the alias in join query.

Using Alias
06:16

In this lecture we will link the css files, so you will learn how to link the css files.

Link CSS Files
05:17

In this lecture we will create url helper, url helper will helps to make our work more easier.

Create Link_css Helper
08:10

In this lecture we will create Link_js Helper which link all the javascript files.

Create Link_js Helper
03:24

In this lecture we will create form_input helper, which will return the form input fields.

Create Form_input Helper
08:52

In this lecture we will modify the form_input helper to accept the email and password input fields.

Modify form_input Helper to Accept Email & Password Inputs
04:04

In this lecture we will modify again form_input helper to also accept the file input field.

Modify form_input Helper to Accept File Input
02:47

In this lecture we will create input_submit helper which will return the submit button.

Create Input_submit Helper
05:24

In this lecture we will create button helper which will accept only button .

Create Input_button Helper
05:20

In this lecture we will create form_open helper which will return form opening tag.

Create form_open Helper
09:15

In this lecture we will create form_multipart helper which will support file uploads, so we will simply modify the form_open helper.

Create Multi Part Form Helper
03:16

In this lecture we will create anchor helper, anchor helper will simply return the anchor link.

Create Anchor Helper
06:33

In this lecture will optimize the helper loader.

Optimize Helper Loader
03:21

In this lecture we will access the form data in the controller, so in this lecture we will learn how we can access the form data in the controller.

Access Form Data in The Controller
05:30

In this lecture we will insert data in the database using UI (User Interface).

Insert Data in The Database Using UI
09:14

In this lecture we will create redirect helper which we will help us to redirect user to another controller.

Create Redirect Helper
04:23

In this lecture we will autoload all helpers, autoload is a very easy way to load all helpers just use one line of code.

Autoload Helpers
07:12

In this lecture we will create POST and GET helper which will help use to access post data and GE data very easily.

Create POST & GET Helper
07:25

In this lecture we will create URI helper, which will help us to access id in the controller very easily.

Create URI Helper
06:34

In  this lecture we will create form validation library, which will perform the form validations.

Create Form Validation Library
04:30

from  this  lecture we will start form validation, and first we will add the required rule to the validation rules.

Create Form Validation Library Part 02 Required Rule
11:11

In this lecture we will add not-int rule to the validation rules, not-int rule means the value will not integer will must be alphabetic  character.

Create Form Validation Library Part 03 Not-Int Rule
05:32

In  this  lecture  we will add int rule to the validation rules, int rule means the value must be integer not be alphabetic character.

Create Form Validation Library Part 04 Int Rule
03:58

In this lecture we will add one more role to the validation rules which name is min_len, so min_len will check the minimum length.

Create Form Validation Library Part 05 min_len Rule
12:28

In this lecture we will add the min_length rule, which will check the minimum string length.

Create Form Validation Library Part 06 min_length rule
12:28

In this lecture we will add max_length rule, which will check the maximum length.

Create Form Validation Library Part 07 max_length rule
04:26

In this lecture we will add the confirm_password rule which will check the password and confirm password status it's matched or not.

Create Form Validation Library Part 08 Confirm_Password rule
14:00

In this lecture we will add the unique role to the validations rules, unique rule we check the email availability in the database table.

Create Form Validation Library Part 09 Email_Availability rule
11:16

In this lecture we will display all errors in the view page.

Display Errors In The View
03:11

In this lecture we will create set value method which will set the form values after submitting the form.

Create Set Values Method/Helper
05:28

In this lecture we will create files upload library, which will upload all files like images and pdf files and much more.

Create Files Upload Library
10:06

This is the second part of files upload library lecture.

Create Files Upload Library Part 02
03:33

This lecture is the part 03 of files upload library lecture.

Create Files Upload Library Part 03
06:50

This lecture is the fourth part of the files upload library.

Create Files Upload Library Part 04
08:08

This lecture is the part fifth of files upload library lecture.

Create Files Upload Library Part 05
Processing..

This lecture is the 6th part of the files upload library lecture.

Create Files Upload Library Part 06
02:25

This lecture is the part 07 of files upload library lecture, In this lecture we will store each image/file with unique name.

Create Files Upload Library Part 07
16:10

In this lecture we will create session library, session library will  start the session, set the session data and set the flash message.

Create Session Library
10:40

This lecture is the second part of create session library video.

Create Session Library Part 02
06:02

This lecture is the third part of session library video.

Create Session Library Part 03
06:47
Create Session Library Part 04
06:44
Create Session Library Part 05
03:25

In this lecture we will create password hash method, password hash method will change normal password to hash password and we will use highly secure hash method which name is password_hash().

Create Password Hash Helper
07:20

In this lecture we will modify the config file, we will place all the database and default configuration inside the array.

Modify Config File Code
07:31

In this lecture we will move config folder from system folder to application folder, actually config folder is the part of application folder.

Move Config Folder to Application Folder
03:43

In this lecture we will clean up our framework, clean up means we will delete all the unnecessary files from the framework.

Clean Up Framework
09:18

In this lecture I will give you the brief overview of the framework documentation.

Framework Documentation
02:53
+ Build & Design Dashboard
26 lectures 02:38:29

In this lecture i will give the overview of this section, actually what we will do in this section.

Section Intro
00:45

In this lecture we will create the folder structure for the layout.

Create Folder Structure
03:11

In this lecture we will create simple HTML form.

Create HTML Form Structure
04:12

In this lecture we will install the npm package and the package name is live-server.

Install npm Live-Server Package
05:58

In this lecture we will learn what is CSS variable and how to use the CSS variables.

What is CSS Variable ?
05:12

In this lecture we will learn the CSS rem unit, rem stand for root element and it's inherit the font size value from the root html element.

What is CSS rem Unit ?
02:57

In this lecture we will define the CSS variables and also we will link the google fonts cdn.

Define CSS Variables & Link Google Fonts
05:51

In this lecture we will style the form input fields using custom css will not use any framework in this course.

Style Form Input Fields
05:53

In this lecture we will design the form button.

Style Button
08:38

In this lecture we will style the form header.

Style Form Header
05:53

In this lecture we will add animated circles to the form.

Add Animated Circles to Form
06:04

In this lecture we will add animated image to background.

Add Animated Image to Background
04:54

In this lecture we will create login form, so login form is pretty easy  I will just duplicate the signup form.

Create Login Form
02:31

In this lecture we will style up the navigation bar.

Style Navigation Bar
06:56

In this lecture we will style the dashboard sidebar using pure/vanilla CSS.

Style Sidebar
16:52

This lecture is the second part of the previous lecture.

Style Sidebar Part 02
02:03

In this lecture we will style/design the welcome message.

Style Welcome Message
04:25

In this lecture we will create update password form.

Preview 10:49

In this lecture we will create update name form.

Create Update Name Form
02:10

In this lecture we will create  custom file upload button using vanilla/Pure CSS.

Create Advanced Custom File Button
07:02

In this lecture we will show file name inside the label.

Show File Name On Label
07:25

In this lecture we will style up the alert messages.

Preview 09:15

In this lecture we will solve the scroll bar not showing problem.

Solve Scroll Bar Problem
04:07

In this lecture we will create and design a table.

Create & Style Table
08:10

In this lecture we will create Pure CSS loader.

Create Pure CSS Loader
07:00

In this lecture we will make our layout responsive, so we will add media query to the layout.

Add Media Query
10:16
+ Layout Templating
13 lectures 01:15:01

In this lecture I will give you the brief overview of this section.

Section Intro
Processing..

In this lecture we will do project setting we will create a new folder for the project and we will place all the MVC files inside the project folder.

Project Setting
03:03

In this lecture we will load the signup view in the controller.

Load Signup View
04:02
Load View Using Efficient Way
04:42

In this lecture we will load the login view.

Load Login View
04:37

In this lecture we will take the advantage of helpers, basically  we will replace all html normal tags on helpers.

Take The Advantage Of Helpers
15:01

In this lecture we will load the dashboard view.

Load Dashboard View
07:16

In this lecture we will replace all html tags on helpers.

Replace All HTML Tags On Helpers
09:13

In this lecture we will load the change picture view.

Load Change Picture View
07:51

In this lecture we will load the change password view.

Load Change Password View
07:20

In this lecture we will stop the default behavior of anchor link.

Stop Anchor Default Behavior
03:59

In this lecture we will load the table view.

Load Table View
06:27

In this lecture we will set the default controller.

Set Default Controller
01:30
+ Change Static Dashboard to Dynamic Dashboard
19 lectures 01:56:22

In this intro lecture I will give your the overview of this section actually what we will do in this section.

Section Intro
01:59

In this lecture we will create a new table in the MVC database.

Create a New Table
02:28

In this lecture we will do the signup form validations.

Signup Form Validations
08:54

In this lecture we will set the signup form values.

Set Signup Form Values
03:02

In this lecture we will solve the set values problem.

Solve Set Values Problem
03:28

In this lecture we will insert the signup form data in the database.

Insert Signup Form Data In The Database
08:57

In this lecture we will display the success flash message.

Display Flash Success Message
06:31

In this lecture we will do the signup form validations.

Login Form Validations
04:18

In this lecture we will submit the login form and we will display the error messages using flash helper.

Submit Login Form
10:20

In this lecture we will redirect user to ajaxContorller and as well we will add loader to website.

Redirect User & Add Loader
05:11

In this lecture we will display just once, when three seconds complete then will hide the loader.

Display Loader Just One Time
04:10

In this lecture we will change static name and static profile picture to dynamic name & picture.

Change Static Name & Profile Picture to Dynamic
03:03

In this lecture we will simple logout from the dashboard and we will also add some security to dashboard to prevent unauthorized .

User Logout
04:05

In this lecture we will update the profile picture.

Update Profile Picture
06:18

In this lecture we will run the update query, and we will update the image column in the database table.

Update Profile Picture Part 02 Run Update Query
06:49

In this lecture we will display the success flash message for updating the profile picture.

Update Profile Picture Part 03 Display Flash Success Message
06:58

In this lecture we will do the change password form validations.

Update Password Validations
09:02

In this section we will update the password.

Preview 10:20

In this lecture we will update the name.

Update Name
10:29
+ Ajax CRUD
14 lectures 01:43:59

In this lecture I will give you the overview of this section what we will do in this section.

Section Intro
01:46

In this lecture we will learn what is JavaScript template string.

What is JavaScript Template String ?
06:03

In this lecture we will learn what is ajax and what are the advantages of ajax.

What is Ajax
01:32

In this lecture we will add the insertion form for data insertion.

Preview 10:11

In this lecture we will learn the ajax request methods, we will learn what are the request methods, so we will learn the post method, get method and ajax method.

Ajax Request Methods
11:02

In this lecture we will do the form validation using jQuery.

Preview 06:45

In this lecture we will insert fruit information in the database.

Insert Fruit Information In The Database
10:37

In this lecture we will display the insert fruit success message and also we will add userId in the fruit table.

Preview 09:27

In this lecture we will fetch fruit records from the database.

Fetch Fruit Data From The Database
07:19

In this lecture we will loop the fruit data using javascript build in method which name is forEach loop.

Loop Fruit Data In JavaScript
09:01

In this lecture we will update the fruit data.

Update Fruit Data
05:51

This lecture is the second part of update fruit data lecture.

Update Fruit Data Part 02
12:11

In this lecture we will delete the fruit records from the database using ajax.

Delete Fruit Records
10:35
Authentication
01:39
Requirements
  • Basic PHP Knowledge is required
  • You don't need any experience with MVC
Description

Model–view–controller is an architectural pattern commonly used for developing user interfaces that divides an application into three interconnected parts, Model, View and Controller model folder store all the database related files, views store all the html files like signup form, login form, navigation bar etc, and controller is a middleware between views and models.

What you will learn in this course ?

  • Object Oriented Programming Basics

  • MVC Design pattern

  • Your own libraries and helpers

  • database library

  • form validation library

  • files upload library

  • session library

  • form helpers

  • html helpers

  • url helper

  • redirect helper

  • Ajax basics

  • Ajax CRUD application with MVC

  • signup & login form with complete user profile

  • Modern looking design with Vanilla/Pure CSS

Who this course is for:
  • Anyone who wants to learn MVC
  • Anyone who knows PHP and is looking to upgrade their knowledge to Custom PHP MVC