4.41 (3319 reviews)
☑ Learn New OOP techniques
☑ Build PHP OOP applications
Hands on Real Life Project inside!
On Demand OOP Skills Inside
OOP is a must for everybody period!
Do you have the PHP basics, but need something that will propel you to a new level?
Then this course is for you.
You took some other courses that unfortunately did not provided real world experience?
Then this course is for you.
You need full prompt support from your instructor?
Then this course is for you.
Do you want NEW updated PHP code?
Then this course is for you.
Do you want easy to follow lectures?
Then this course is for you.
Do you want an instructor that cares and answers promptly?
I am here for you :)
How would you like to finally get all the knowledge you need to make all the money you want freelancing? This course will give that knowledge and more.
How would you life to get a top paying job building dynamic web applications?
This course will guaranteed you success if you apply yourself, and take the time to learn everything included.
PHP has allowed me to make a really great income, so much that It gives me time to teach others about it. You too can become a professional in the field, and create the life you always dreamed of.
PHP is one of the best web programming languages in the world, and all the big important websites, like Google, Apple, Facebook, Yahoo, Wikipedia and many more, use it for their web applications.
Commonly asked question
How much money can I make if I learn PHP?
Starting salaries in the US, it ranges from 60,000 to 150,000 a year, but freelancing can make you a lot more than that, if you know what you are doing.
100% Money Back if you don't like it
With 100% money guaranteed within 30 days, you have NOTHING to lose and a world of possibilities for your future. If for some reason you don't like the course or me, you can get your money back from Udemy.
Edwin from the future
Code Editors I recommend (Optional Lecture)
Web Development Software Installation (XAMPP)
Course Exercise files
Displaying errors in PHP
Defining a class
Instantiating a Class
Access Control Modifiers
Getters and Setters
Referencing Parent Class with Static
Constructors and Destructors
OOP Project - Building a Photo Gallery System
Overview of this project
Project Directories & Assets
Editing and Modifying Files
Gallery System Links
Creating Database and User Table
Setting Up the Database Connection
Initializing all Includes in one file
Init file inclusion reminder (Edwin from the future)
Creating the Database Class
Future Update for database class
Automatic DB Connection Setup
The Query Method
Database Class Helper Methods
Testing Query Method
Improving our Connection to be more OOP
The User Class
Creating our User Class
Testing our find_all method
Static Method Usage and Challenge
Creating a Find user id method and Solution
Create This Query Method
Assigning Array Values to Object Properties
Auto Instantiation Method
Testing the Instantiation Method
Short Way Auto Instantiation
Creating The Attribute Finder Method
Adding our Instantiation Method
Using our Instantiation Method to find all users
Using our Instantiation Method to find 1 User
Undeclared Object Backup Function
Updating the Autoload Function (Edwin from the future)
So what is going on?
The Session Class
The Checking login Method
The Login Method
The Logout Method
Controlling Access to Admin
Creating The Login Page
Creating the Verify Method Part 1
Creating the Verify Method part 2
Duplicate return = Important watch the whole lecture - Edwin from the future
Login page position - (Edwin from the future)
Login Form Creation / Download
Creating our Login out Feature
Creating message method
Outputting Feedback for User
Understanding File Permissions
Configuring PHP for File Uploads
Analyzing Uploaded File Structure
File Error Code Explained
Moving Uploaded Files
CRUD: Create Method
Create Method Query Part1
Create Method Query Part 2
Inserting Last ID Method (Challenge)
Testing our Method (Solution)
CRUD: Update Method
Update Method Query
Testing our Update Method
CRUD: Delete Method
Testing the Delete Method
Abstracting and Improving
Improving the Create Method
Abstracting the Create Method Part 1
Abstracting the Create Method Part 2
Modifying the properties method
Testing the Abstracted Create Method
Abstracting the Update Method
Testing the Abstracted Update Method
Escaping Values From our Abstracted Methods
The Photo Class
Creating the Database Table for our Photo Class
Abstracting the remaining methods
Create the Parent Class
Fixing lecture 90 Double Return
Late Static Binding
Coding The Photo Class
Adding Class Properties
Testing Inherited Methods
Setting Up our Properties Array
Building Directory Paths
Set File Method
Save Method Part # 1
Save Method Part # 2
HTML Form Creation
Uploading and Testing
Coding The HTML for our Photos Table
Coding The PHP for a Photo Table
Dynamic Image Path
ADMIN PHOTOS: Deletion Section
DELETE PAGE and Links Part # 1
DELETE Page Part # 1
Making our Application More Generic
Creating The Delete Method
Setting Up The Right Redirect Paths for Delete
ADMIN PHOTOS: Edit Photo Section
Creating The Edit Page
Creating The Edit Page Part #2
Writing our PHP Code Part # 1
Writing our PHP Code Part # 2
Picture and Sidebar Styling
Installing The Text Editor
Setting Size for Photos Page Thumbnail
ADMIN USERS :
Displaying User Page
Working with User Image
Creating User Image Column in DB Table
Creating Add User Page Part # 1
Creating Add User Page Part # 2 : Testing
Assigning POST values to Object Properties
Setting Up Image Upload for User
Creating The User Edit Page
Empty Password Field Fix
Updating User Modification
Delete within Edit User Page
Fixing Duplicate Record Creation Bug
Creating the Comments Table in the Database
Creating the Comment Class
Self Instantiation Comment Method
Find Comments Method
Testing our Comment Form
Including Our Classes in Photo.php FRONT-END
Pulling Data From Form Part # 1
Pulling Data From Form Part #2
Displaying & Making Comments - FRONT-END
Displaying & Making Comments - BACK-END
Creating the Individual Comment Page Part # 1
Creating the Individual Comment Page Part # 2
Creating the Count Comment Code and CHALLENGE
Comment Count Link & SOLUTION
Deleting Specific Photo Comments Code
ADMIN: Dashboard Setup
Dynamic Menu to Photo.php
Dashboard HTML Snippets Inclusion
Adding Google API Charts
Tracking Page Views Method
Creating the Count All Method and Echoing Photo Count
Setting Up Users and Comment Counts
Modifying Chart Properties
Dynamic Data in Chart Creation
FRONT-END : Gallery System
Setting Up Index to Display Photos Part # 1
Setting Up Index to Display Photos Part # 2
Correcting Photos Alignment with CSS
Coding the PHP in Photo.php FRON-END
Home Page Link and Footer Modifications
FRONT-END : PAGINATION
Setting Up our Pagination Variables
Creating the Paginate CLASS
Creating our Construct Function to Initialize some Properties
Building our Paginate Class Methods Part # 1
Building our Paginate Class Methods Part # 2
Instantiating and Testing Paginate
Setting Up our Next Page Link
Putting our Next Link to Work - CHALLENGE
Creating Previous Link - SOLUTION
Paginate Indication and Looping
Pagination Indication CSS
Extra Features Overview
Creating the Modal + HTML Snippets Download
Including Modal from somewhere else
Pulling Pictures Into Gallery / Modal
Enable Selection Button on Click - jQuery
Enabling the Selection Button with jQuery
Writing the AJAX - Setting User Image
Testing our AJAX Code
Creating the AJAX PHP Method
Modifying / Improving Our AJAX PHP method
Photo Library Sidebar Part #1 - CHALLENGE INCLUDED
Photo Library Sidebar Part #2 - SOLUTION INCLUDED
Photo Library Sidebar Part #3 - COMPLETED
Creating Session Methods for Notifications in the Edit User Page Part # 1
Creating Session Methods for Notifications in the Edit User Page Part # 2
Updating User Methods
Setting Up Notifications for CRUD Part #1
Setting Up Notifications for CRUD Part #2
Installing a Multiple Upload and Drop JS File Plugin Part #1
Installing a Multiple Upload and Drop JS File Plugin Part #2
Installing a Multiple Upload and Drop JS File Plugin Part #3 - COMPLETE
Edit Photo Page Sidebar jQuery Dropdown
Login Page CSS
Conclusion and BONUS
Taking our application online
Displaying errors online
Uploading files and database creation
Importing database and setting up configurations : CHALLENGE
Creating an online site root path : SOLUTION
Testing photos deletion functionality
Updating photos with user_id
Very disappointing course. On this course there will not be explained and also not used in the project very basic things in PHP OOP such as: abstract classes, interfaces, traits, namespaces... Explanations are very poor and the instructor like to tell you to check on php.net, but he should explain that to you and make examples (no examples in this course, only the project). Answers on your questions are very fast, but the problem is that you'll need to ask about a lot of things, because things are not explained well in most cases. Also, the person or persons who replays to messages knows not to read the message well and you'll need to repeat yourself and basically explain what you wrote in previous message and for some more difficult question you'll not get wanted answer. Teacher is very good in English and cheerful person, but this course will just waste your time. Of course, this is just my opinion.
Awesome course fro Edwin.. Finally finished it. Very helpful the aswering all errors that i got before.Two Thumbs Up
This is a good course on OO PHP. Edwin is a great instructor and he explains the concepts so they are easy to understand. It has been hard for me to pick up OO PHP but Edwin has helped me grasp the concepts that I was not understading before. The project really helps to nail down the concepts and how to implement OO PHP code in your projects.
Fantastic course. I've learnt a lot by following what Edwin explained. All the content was very clear and Edwin's friendliness makes it easier to follow. Highly recommended.
Fantastic course for advancing your PHP and OOP knowledge. Edwin is a fantastic instructor who really cares about his students!
I have done the course after Edwin's basis PHP beginner course. The style is vey similar, but you can feel that it's advanced, many things are expected. I enjoy Edwin's teaching style and the practicality of the course. Howevere there are also a number of things why I couldn't give this course a 5* review and I'll list these in case there is any interest in optimisng the course: 1) the biggest issue for me was that we do all these little steps in the course, setting up classes and methods etc and at some point it all just ends up being connected and flowing through. But while we focus on the isolated points, there is very little explanation on the connection between all the functions and classes, i.e. a holistic view of the concept, i.e. sometthing like "if this data here is entered, it goes back to the function xyz, which is part of class abc .. and that's why it works" a) i felt that things are not always well explained of what is done, for example a code is brought in and often (not always!) Edwin would just read the code but not actually translate/interpret what a code means and why certain things are needed. Many things left me puzzled and wondering why we are doing things in a certain way. Now I have completed the course within circa 2 weeks, so I had a good memory and connections, but for people taking longer breaks, I can see this being even more difficult. 3) unlike the beginner course, this course doesnt have any tests, which actually found quite helpful to get a feeling of being able to code yourself. 4) the code sometimes doesnt match what was build before and it's confusing and time consuming 5) in one instance (section 17) the code is actually wrong / files are not correctly linked (regarding the photo class) and it took unneccessary time to find out and fix this! 6) the support was mostly fast and its great that someone answers questions! However, I feel the support doesnt really know the code and offers often only generic answers. Also when you ask specific questions why the code / functionality in the gallery works like this, you get no answer or a generic answer that doesnt help. I have probably asked 25-30 questions along the way and I'd say to 10-15% I received unsatisfying answers. 7) Because the lectures are broken often in 2-3min pieces, which in principle gives a satisfying feeling of many classes, Edwin waffles quite a lot and repeats stuff that was just said. I watched the course after the basics, most of the time at 1.5x speed because of that. Lastly, I feel I have understood the basics of OOP but I was hoping to feel highly comfortable with it and fully understand it, which I dont. I feel Id need to redo the entire class or take another course. So my recommendation is unfortunatly limited, as much as I like Edwin's personality!
I'm learning a tremendous amount. Thank you Edwin. Unfortunately, not as professional as some of the other tutorials. That is, the very impromtu and personable style leads to some rapid flip flopping of views making it at times hard to follow. Also, the light hearted comments at the beginning and the end get in the way of the learning because, after watching 5-8 videos in one coding session, you start to hear the same thing over and over again. I.e., "lock you doors, shut off your phone... etc" I say this only as constructive criticism. I've learned to honour all my teachers. Thank you Edwin.
This is my third PHP course with Edwin, originally starting as a complete beginner. His OOP course is easy to understand if you already know the basics. Every lecturer has a different style in teaching and I personally like his real world in-class style. Highly recommend it.
Thank You... Edwin, creating an awesome course. This course gives you an idea of how to oop in PHP works and really helpful for PHP frameworks...
It seems great so far and i am really excited to see myself using OOP in near future for every single project.
Mr Edwin is awesome instructor! He really cares and tries to motivate the students to learn how much they can through out the course. He makes you laugh. I have learned a lot from from this course and other course he teaches. He explains in detail. I do like that he leaves his mistakes in the videos because as a student I learn from the errors he receives. We grow from mistakes. Thank you Mr Edwin. I really in joy your courses.
The controls and screen layout looks like it has changed from when the video was made. I do not see the same tabs on the right as what Edwin is telling us about.
The project is a good one to work with and can be very helpful to understand how content management systems are build and work but there are a lot of instructions without further explanation. Like "we need to add x function in this file because if we don't it's bad..."
I learned a lot from you, and I took the oppotunity to custom the project to be more my own so I can learn better and not just copy paste you get me step up to a very new level of konwledge thank you for encouraging us to keep up learning and searching and improving our skills, I give you a gaint thumb up, thanks for every thing
Great lessons! Classic Edwin, very thorough on the topics. Love the way he carries the students along and keeps motivating them. Never boring to listen to him.