This article gives some guidance on how to become a PHP / MySql developer and what you will need to know. I assume you have some programming and database familiarity because we will start at that level.
You will need a simple development and testing environment. I go over that in this article. I give a laundry list of things you should know and things you should do in your quest to become a PHP Programmer.
How I Started Learning PHP
I was a programmer before I taught myself how to program in PHP. To me it all comes down to data driven browser based applications. The starting point was simple. For me it was CRUD plus listing records. CRUD is an acronym that stands for Create, Read, Update, and Delete.
I hard coded each part following the following steps:
- Create a PHP file.
- Created a database and table in MySql (or one of it’s clones).
- Add a database connection string using PHP
- Hard coded the code to create, read, update, and delete record using database table I created.
- Hard coded the code that lists the records in the table.
- The above creates on simple PHP program file.
That’s it. That is how it all started for me.
Create a PHP Development Environment
You will need a development environment. Either a simple VPS some place like Digital Ocean [link] or PixeGate.net [link] or you can use an old laptop or desktop. I have several test environments. I have a local hardware server (old Dell desktop computer) and an old laptop. Both have their spinning drive replaced with a Solid State Device (SSD) so they are better optimized having the hard drive bottleneck removed. Your garden variety i3 laptop with and SSD and 4G of RAM should serve you well.
One thing to note is you will want your development and testing servers have the same specifications as your production server. Since this is for learning and your code will not be moved to a production environment, this is not an issue.
Skills You Will Need to Develop
Linux – There is a lot to know about Linux and I do not think most will expect you to be master Linux admin while you are at the beginner stage. You should be able to install Linux and be able to create a user.
Networking – You should know how to modify a Linux network connect if need be, and plug in a network cable as needed. You need to know the difference between a static IP address and a leased IP Address (Dynamic Host Configuration Protocol (DHCP)).
Apache and / or NGINX – Basically you need to know how to create or modify a virtual host, and stop and start the webserver.
MySql or One of it’s Clones – You will need to know how to create a database, create a table, create indexes, and create query strings that can perform basic CRUD plus list.
Basic PHP – You will need to know the following:
- How open tags work and why and when a closing tag is not required
- Variables and Types
- Data Types
- Capturing Form Data, processing it and sanitizing it
- For Loops and While Loops
- How a Switch Works
- Creating and Accessing String
- Searching and Replacing a String within a String
- Formatting Strings
- Call by Value and Call by Reference
- Reading and Writing to Text Files
- Basic Understanding of Object Oriented Programming
- Procedural Programming
- How to Configure PHP via the php.ini file
HTML5 – W3Schools has a great HTML5 tutorial that would be good to go through as part of your PHP programmer training. [link : https://www.w3schools.com/html/]
Cascading Style Sheets (CSS) – There is a lot to know about CSS. Basically it is the “language” that describes how a web page will be rendered. W3Sschools [link] has a great tutorial on this.
Mobile Responsive – You may not need to know much about making a website mobile responsive, however you do need to understand what it is. Basically it is using CSS to make a web page render in a desktop, a tablet, and a smart phone is such a way that is looks correct for that size of screen.
We covered a lot of ground. Becoming a PHP programmer requires a lot of work to develop the skills and knowledge you will need. It is possible to learn all this and some if one takes the time to work through the list while doing some hands on.