The best way to learn PHP

How start learning PHP programming and how far we go?

One of the most important things you need to know to learn any type of programming language, especially PHP, is the learning process (roadmap) and the true starting point. If you learn PHP step by step and in a principled way, you will become one of the best programmers in this field. A powerful backend developer! In the following, I have tried to draw a clear path for you so that you can find your way according to what you already know (your current level) and your goal of learning PHP. By following this path, you can reach your goal in the fastest possible time, in the easiest way possible, and in a principled way.

Those who want to learn PHP start searching for the best resources and read a few articles. In these articles, they find names such as OOPMVC, and Framework, and then research on them. One article emphasizes OOP and the other says the best way is MVC. One of the articles starts by naming and reviewing all the available frameworks for PHP and then comparing them to find which one is better. Laravel or CodeIgniter or...? Another article introduces and compares IDEs for PHP programming and finally concludes that PHP Storm is the best. Then you are alone with a bunch of different names that you know almost nothing about and you can't decide which one is better.

I had students who asked me before starting PHP if it was better to learn Laravel or CodeIgniter. When I ask how much PHP you know, they say they just want to start! Many start with the same method and try to learn Laravel at the very beginning, for example, because most companies in the world want to hire people who know this framework. They study for a few days and then drop PHP learning forever because no matter how much they read about Laravel, they don't understand anything. It's completely normal because they misunderstood the starting point! It's like giving a spaceship to a child who wants to learn to ride a bicycle for the first time.

To start learning PHP, I've outlined the steps and divided them into 4 levels. Depending on your current level and the purpose of your PHP learning, you can choose the right level and study the courses available on this site or even other websites.

Level 1

Learning PHP from the very beginning and creating a simple online store app that works with the MySQL database has an admin panel and performs CURD operations. Also, creating a REST API for this store. All this without the use of Class, OOP, MVC, and frameworks, only using the basic concepts of PHP and combining it with HTML codes.

What you should know before starting?

You need to know some HTML and CSS. You don't have to be a pro, you just have to know what they are and what they are used for.

What can you do after this level?

After this level, you can create any type of application with PHP. Even the most complex and large applications can be implemented by learning this simple level, and you don't need to learn anything else!

What limitations will you have?

Your app will work well, with the best quality and security, but you are the only one who knows its structure and has information about how it works. If you're going to work with a programming team, you can't get along with them at all, unless you're the team leader and the rest of you are at a lower level in PHP programming and you're supposed to teach them. In other words, if your app is complex and large, no one will understand your written code, and if you don't be there, no one can develop the app or fix it if something goes wrong. Of course, you have to spend a lot of time and write a lot of code to fix bugs or add new features to your application. Also, in the future, if you want to create new projects, you can hardly use your previous written code and you have to rewrite everything from scratch.

Is this level enough for you?

If you are going to be a one-man team and you want to do everything yourself, yes, this level is enough for you. You can write the most complex applications for yourself and use them commercially. For example, set up an online store for yourself. All technical issues will be related to you and the rest can only use this application.

But if you're going to build an app for different customers and sell your code, or you want to work for a programming company, or you're a member of a professional programming team and share the app's technical work with others, it’s not enough and you have to learn new things and move on to the next level.

Learning OOP (Object Oriented Programming) in PHP and creating a simple online store app that works with MySQL database, has an admin panel and performs CURD operations. Also, creating a REST API for this store. All this using OOP but without the use of MVC and frameworks, only using the basic concepts of PHP, creating different classes, and implementing the application object-oriented and combining the codes with HTML codes.

What you should know before starting?

You have to go through level 1 and master its concepts. If you want to start from this level directly and from the beginning, it is possible, but it is very difficult and requires a lot of time and patience.

What can you do after this level?

After completing this course, you can create any type of application with PHP. Even the most complex and big applications can be implemented by learning this level, and you don't need to learn anything else! This level makes coding easier for you comparing the previous level. Also, one of the reasons for learning this level is to be prepared to learn the next levels because this level is their prerequisite.

What limitations will you have?

Your app will work well, with the best quality and security, but you are the only one who knows its structure and has information about how it works. If you are going to work with a team, it will be very difficult. Unless the rest of the team knows programming at the same level and no more. You can hardly explain to others how your application works and the technical issues, and if someone wants to develop or troubleshoot your application, it will take a long time to understand your written code if you are not present. If your application is complex, this is almost impossible. You also have to spend a lot of time developing your application and debugging it, not as much as the previous level, but it's still hard. In the future, if you want to create new projects, you can use your previous written code, but you will need a lot of time to edit the previous code and adapt it to the new project.

Is this level enough for you?

If you are going to be a one-man team and you want to do everything yourself, yes, this level is enough for you. You can write the most complex applications for yourself and use it commercially. For example, set up an online store for yourself. All technical issues will be related to you and the rest can only use this application. If your app is small, you can try to explain how it works to another programmer and develop your technical team.
But if you're going to build an app for different customers and sell your code, or you want to work for a programming company, or you're a member of a professional programming team and share the app's technical work with others, it’s not enough and you have to learn new things and move on to the next level. But the important thing is that to go to the next level, you have to learn this level.

This level's tutorials:

Coming Soon...

Level 3

Learn MVC architecture in PHP programming and create a simple framework for yourself. Then building a simple online store app with this framework that works with the MySQL database, has an admin panel and performs the CURD operation. Also, creating a REST API for this store. All this using OOP and using MVC architecture in a framework that you have created for yourself.

What you should know before starting?

You must know Level 2 and master the concepts of OOP. MVC is an architecture and contractual framework for programming that makes you use OOP in a specific, predefined way. MVC tells you to sort and categorize the code you've already written with OOP, and it doesn't actually add anything new to your information. It just sorts and classifies your codes, then anyone who is familiar with this classification, i.e. MVC, can easily understand and edit the code written by you and you do not need to explain how it works.

What can you do after this level?

After this level, you can create any type of application with PHP. Even the most complex and big applications can be implemented by learning this level, and you don't need to learn anything else! The only difference is that you can now be a member of a team and they understand the code written by you. You can also understand their code and communicate with each other and carry out a large project as a team.

What limitations will you have?

You have almost no limitation and your application will work well, with the best quality and security, and any other programmer can understand how you worked and develop or fix your application. In the future, if you want to create new projects, you can easily use your previous written code and you don't need to change much.

Is this level enough for you?

It depends on your purpose. If you want to work for yourself or start a programming team and build an app and sell your code, this level will meet your needs. You can also be hired by other companies because all companies usually use frameworks implemented with MVC architecture. By the way, their framework may be specific which you will learn about in the first few days of the job, and then you can connect with the rest of the team. Or the company may use a ready-made framework such as Laravel or CodeIgniter. These frameworks are exactly like the framework you created, except that they are much bigger and have more features. Since you are familiar with MVC, in less than 1 month, you can find a relative mastery of them and get ready to send a resume and start working in that company. But learning these frameworks requires that you know MVC, so you need to know level 3.

This level's tutorials:

Coming Soon...

Level 4

Now it's time to choose a framework like Laravel, CodeIgniter, Cake PHP, or whatever and start learning it. All of these frameworks are made with MVC architecture, and the only difference is in the features they provide. But again, my suggestion is to start with the CodeIgniter framework first. This framework is a complete framework, but at the same time, it is very easy to learn and will take less than 1 month. Once you learn it, you can easily connect with more complex frameworks such as Laravel and learn them in a short time.
So our tutorial is to start working and learning CodeIgniter and create a simple online store application that works with the MySQL database. It has an admin panel and performs CURD operations. Also, creating a REST API for this store. All this using CodeIgniter.

What you should know before starting?

You must know level 3 and master the concepts of MVC. CodeIgniter is exactly the framework you wrote for yourself at level 3, but with many more features, you no longer need to develop your own framework. Another good team has already done this for you for free!

What can you do after this level?

You have become a pro programmer. After this level, you can create any type of application with PHP. Even the most complex and big applications can be implemented by learning this level, and you don't need to learn anything else! You will have the experience of using a professional PHP framework called CodeIgniter in your resume and you can be hired by a company or start your own company and hire a professional team including those who are familiar with CodeIgniter.

What limitations will you have?

You have almost no limitation and your application will work well, with the best quality and security, and any other programmer who is familiar with CodeIgniter can immediately understand your work in an hour and develop your application or find a bug. In the future, if you want to create new projects, you can easily use your previous written code and you don't need to change much. You only get in trouble with people who know another framework like Laravel but don't know anything about CodeIgniter, and to work with them you have to learn their framework first or they have to learn yours.

Is this level enough for you?

Yes, absolutely! If you want to work for yourself or start a programming team and build an app and sell your code, this level will perfectly meet your needs. Your apps are at the best level and will have international quality because you use a professional framework that is used in many of the world's largest companies. You can also get hired by other companies that use CodeIgniter. If you're going to work for a company that uses another framework, don't worry at all, because learning other frameworks won't take much time when you master CodeIgniter.

This level's tutorials:

We implement the exact online store app that we created at levels 1, 2, and 3 once again with the same features but using the CodeIgniter framework.

Coming Soon...


Sociofans

21 Blog posts

Comments