Originally the shorthand for Personal Home Page, PHP stands for PHP: Hypertext PreProcessor. It is a general-purpose scripting language developed in 1994 by Rasmus Lerdorf for web development. Moreover, it is a famous programming language for beginners because of its simplicity, ease of use, and large community. Since PHP is an open-source language, it is supported by all the best web hosting providers.
Before learning PHP basics, you must set up your development environment. A development environment refers to the tools you use as a PHP developer. These tools and software form the foundation on which you code, test run, and debug your PHP code. This article will provide information on the right tools and everything else you need to get a strong foundation in PHP.
Key Highlights
- PHP is the most widely used language in web development
- PHP developers can work as front-end web developers, web engineers, web UI developers, and computer programmers
- PHP supports many databases, but MySQL database is the most popular one
- Anyone wanting to learn PHP can easily access vast learning reissues, tools and frameworks
- XAMPP is an easy-to-install PHP development environment that includes PHP, Apache web server and MySQ
What Is the Importance of Learning Basics of PHP for Beginners?
PHP is one of the many programming languages that beginners have to learn. Other programming languages for beginners are Python, javascript, and HTML. Here are some of the reasons why beginners should make learning PHP a priority.
1. Widely-Used Language
PHP is the most widely-used language in web development. While it has recently lost some popularity, it is still in use by nearly 80% of all websites. Some famous websites that run on PHP include WordPress, Wikipedia, Slack and Etsy, and Facebook. Furthermore, most web development tools and the best website builders are all developed using PHP.
2. Versatility
Another benefit of learning PHP for beginners is that it allows them to be platform-independent. PHP cuts across all platforms. You can use it on Windows, Linux, and MacOS, and it is supported on most web browsers. Because PHP is compatible with all the major web servers, developers can deploy it on different systems and platforms at minimal additional cost. Some examples of web applications built using PHP include WordPress website themes, e-commerce applications, and image output websites like Flickr.
3. Job Opportunities
Up-and-coming developers who want opportunities in multiple spheres should consider learning PHP. Due to its widespread application in multiple fields, there are always tons of opportunities for PHP developers. PHP developers can work as front-end web developers, web engineers, web UI developers, and computer programmers. A typical PHP developer can earn almost $100,000 per year.
4. Cost-Effective
PHP is free. Anyone can install the programming software on their device at zero cost. The language is also open source and compatible with a wide range of frameworks such as Laravel and Symfony. It is perfect for developers and companies that want to keep web development costs low. Furthermore, the abundance of learning resources, documentation, and community support makes it easy and cost-effective for developers to brush up their skills and resolve coding issues.
5. Community and Resources
There is a vast PHP community that congregates in online and offline circles. Anyone wanting to learn PHP can easily access vast learning reissues, tools, and frameworks. Some popular PHP frameworks are Laravel, CodeIgniter, Symfony, Laminas Project, Phalcon, and CakePHP. The community uses hundreds of PHP libraries and tools, including brick/date-time, the coding machine/safe, Tactician, Deptrac, PHP Insights, and GrumPHP.
Installing and Setting Up a Development Environment
Now that we’ve discussed the importance of learning PHP basics, it is time to install and set up a development environment. This environment refers to the software and tools you will use to apply PHP in web development. We have decided to break this process into easy-to-follow steps.
1. Installing PHP
Here is a brief tutorial on how to install PHP on your computer locally to start learning PHP. to install PHP locally on your computer, you need the following:
- PHP
- A PHP-supported web server such as the Apache web server
- A database server such as the MySQL database server
Connecting these three pieces of software requires skill. If you are a beginner, it is best if you use an all-in-one software package such as XAMPP. XAMPP is an easy-to-install PHP development environment that includes PHP, Apache web server, and MySQL (database server). It works on Linux, Windows, and macOS.
Let’s See How to Install PHP Using XAMPP
Step 1: Download XAMPP
The first step is to go to Apache Friends, XAMPP’s official website, and download the suitable version for your platform. The main page shows the latest versions for all supported operating systems. You can also download older versions.
Step 2: Install the file
Open the XAMPP installation file to begin the installation. During the installation, you will have the option to select the components you want to install. For this tutorial, select Apache, MySQL, PHP, and phpMyAdmin and deselect other components. When you are done, click the Next button to go to continue.
Step 3. Select an installation folder
The next step is to specify an installation folder for XAMPP. The installation wizard would recommend installing XAMPP in the c:\xampp folder. Accept this recommendation and click Next.
Step 4: Select a language
The default language for the XAMPP Control Panel is English. You can leave it as it is by clicking the Next button or changing it to your preferred language before going forward.
Step 5: Bitnami for XAMPP
Skip this step because Bitnami is not compulsory for learning PHP.
Step 6: Start installing XAMPP
At this stage, you are ready to install XAMPP. Click Next to begin the installation. The installation process will only take a few minutes.
Step 7: Launch the XAMPP Control Panel
Once the installation is complete, you should click the Finish button to launch the XAMPP Control Panel. From the Control Panel, you can run many services. All you need to do to start a service is to click the corresponding Start button.
Step 8: Launch the XAMPP
Launch the web browser and go to http://localhost/. If the installation is successful, you will see the welcome screen of the XAMPP.
2. Setting Up a Development Environment
There are many options for setting up a development environment for PHP. However, the best option for beginners is to use all-in-one software. While many open-source options exist, the most popular are XAMPP, LAMP, WAMP, and MAMP. We showed you how to use XAMPP because most PHP developers trust it. In this section, we will review XAMPP and the other three options.
LAMP
LAMP stands for Linux, Apache, MySQL, PHP/Perl/Python. It is an open-source software stack that only works with Linux operating systems. It contains four layers: Apache web server, PHP technology, MySQL database, and HTML. Developers can use the LAMP server to build static HTML and dynamic web pages.
Aside from PHP, the LAMP server also supports Perl and Python programming languages. It is quick to install, easy to use, and highly customizable. However, it lacks versatility since only Linux OS supports it. This limited versatility is one of the reasons why it rarely gets upgrades and might become outdated in the future.
XAMPP
XAMPP stands for Cross-Platform (X), Apache Server, MySQL, PHP, and Pearl. It is a free PHP development stack compatible with all popular operating systems, including Windows, macOS, and Linux. Aside from its versatility, it is also lightweight and allows developers to perform unlimited tests before they make their codes live on the internet.
The XAMPP server is easy to install and offers a user-friendly control panel to help developers manage and implement the web application. Earlier versions used MariaDB rather than MySQL for databases.
The reason is that when Oracle took over MySQL, many developers feared that MySQL would turn into a paid database, so they began migrating to MariaDB. The only downside to XAMPP is that its configuration and settings options are not as easy as that of the WAMP stack model.
WAMP
WAMP stands for Windows, Apache, MySQL, and PHP. It is an open-source PHP software that only works on Windows OS. It offers all the features of XAMPP. The two key differences are that WAMP only works on Windows OS and uses MySQL instead of MariaDB.
One significant advantage of WAMP over other options is its accessible configuration options. It also allows developers to create backups quickly via a simplified process. Developers that create websites for Windows-based systems can manage the stack with ease. The platform is also available in two versions, 32 and 64 bits. The downside is that beginners struggle to install WAMP, whereas anyone can download and install XAMPP within minutes.
MAMP
MAMP is an acronym for MacOS, Apache Web Server, MySQL, and PHP. It is a server for developers to build and run dynamic websites on Mac OS. Unlike other servers, MAMP comes in both free and paid versions. The free version offers limited features, so developers who want full features, such as creating separate hosts for each project, should go for the pro version.
MAMP is very easy to use and fast to install. It also supports multiple versions of PHP. The downside is that it is restricted to only Mac-based systems.
Writing Your First PHP Script
Now that you have XAMPP (or MAMP, WAMP or LAMP) installed on your computer, it is time for you to write your first PHP script. First, we will introduce you to PHP files and how they differ from regular HTML files. Then we will show you how to output your texts to the browser and apply variables and operators.
1. Creating a Basic PHP File
A PHP file contains HTML, CSS, Javascript, and PHP codes. All PHP files are saved with a .php extension.
Most browsers, such as Edge, Chrome, Internet Explorer, and Firefox, support PHP codes. The codes are executed on the server and displayed by the browser, which receives the result in HTML format from the server.
The difference between HTML and PHP is that HTML is a markup language used in web development. However, if you want to create dynamic pages, you must incorporate PHP codes.
Here is an example of an HTML code for the output “Hello World.”
Here is an example of a PHP file for the output: “Hello World.”
2. How to create a PHP File
You need the following to write PHP scripts:
- PHP platform (We will use XAMPP Software)
- Code editor (We will use Visual Studio Code)
Step 1: Launch the XAMPP app and start the Apache service
Step 2: Go to the directory where XAMPP is installed and open the XAMPP folder.
Inside the folder, locate a folder named “htdocs”.
Step 3: Create a folder inside the “htdocs” folder, and name it anything suiting your project. (e.g., HostAdvice)
Step 4: Launch Visual Studio Code and click “open folder”.
Step 5: In the “open folder” window, navigate to C:\xampp\htdocs and select the folder you created (In this case, hostadvice).
Step 6: Create a file named “index.php” inside your folder.
Step 7: Write the following HTML code along with the PHP script in the “index.php”.
Step 8: Save the file, open your web browser, type “localhost” (Since our server is locally hosted), follow by the folder name you created, and hit enter. E.g., localhost/hostadvice/
Step 9: Congratulations! You have gotten the output for your first PHP program.
3. Outputting Text to the Browser
There are two ways to get output with PHP: echo and print. In the previous heading, we used “echo” in all the examples of a PHP file. This section will provide more information about those two output statements.
Echo and print statements are similar because they are used to output data. The critical difference is that echo has no return value and can take multiple parameters, while print has a return value of 1 and can take one argument. So, you can use print in expressions.
The PHP “echo” Statement
You can use the echo statement with or without parentheses: echo or echo().
Text
Here is an example of a PHP file that outputs text with the echo command
Text and Variables
Here is an example of PHP file that output text and variables with the echo statement:
The PHP “Print” Statement
You can use the print statement with or without parentheses: print or print().
Text
Here is an example of PHP file that output text with the print command.
Text and Variables
Here is an example of PHP file that output text and variable with the print command.
4. Using Variables and Operators
From the previous section, PHP can do more than display static texts. You can also use them to display dynamic text based on predefined rules. This feature is possible using variables and operators.
PHP Variables
A PHP variable serves as a placeholder for information. It begins with the $ sign, followed by the variable’s name. You can label a variable with any name of your choice.
For instance, a modified version of the example we provided under echo:
After the statements have been executed, the variable $txt1 will hold the value “Learn PHP”, the variable $x will hold the value 3, and the variable $y will hold the value 9.
Note that there is no command for declaring a variable in PHP. The variable is created when you assign a value.
PHP Variables Rules
PHP variable names are case-sensitive.
Begin each variable with the $ sign, followed by the name of the variable.
The name must start with a letter or the underscore character and can only contain alpha-numeric characters and underscores (A-Z, 0-9, and _ )
You cannot use a number to start a variable name.
PHP Operators
PHP developers use operators to perform operations on variables and values. There are 8 groups of PHP operators.
- Arithmetic operators: Used with numeric values to perform everyday arithmetical operations, such as addition, subtraction, multiplication, etc. The standard arithmetic symbols indicate them
- Assignment operators: Used with numeric values to write a value to a variable. The basic assignment operator in PHP is “=”.
- Comparison operators: Used to compare two values (number or string).
- Increment/Decrement operators: These are used to increase or decrease a variable’s value.
- Logical operators: Used to combine conditional statements.
- String operators: Contains two operators that are specially designed for strings.
- Array operators: Used to compare arrays.
- Conditional assignment operators: Used to set a value depending on conditions
Understanding Data Types and Variables in PHP
Variables are containers for data. The data type in a variable determines the amount of memory allocated to the variable. The data type also specifies the operations you can perform on it.
There are eight primitive data types supported in PHP, and these primitive data types are categorized into two main types:
- Scalar Types
- Compound Types
1. Scalar Data Types
Scalar Data types include::
- Boolean: Boolean data types are true (1) or false (0). A successful event will return “true” while a negative event will return “false”. Null types are also treated as false values in Boolean.
Input:
Output:
- Integer: Integer data types contain numbers exclusively. These numbers must be whole numbers (without fractions or decimal points) and can be positive or negative. The default number base for integers is decimal (base 10). Other bases include octal (base 8) and hexadecimal (base 16).
Input:
Output:
- Floats: Floats (or doubles or real numbers) are numbers expressed as fractions or decimals.
Input:
Output:
- String: A string is a text that includes letters, alphabets, numbers or all of the above. They are inserted in double quotes during the declaration. They could be written in single quotes, which will cause them to be treated differently while printing variables.
Input:
Output:
- Null: The special NULL value represents empty variables in PHP. NULL is the only possible value of a variable without any data.
Input:
Output:
2. Compound Data Types
The second category of data types is the PHP compound data types. They are:
- Array: An array contains one or more values at a time. It helps outline related items, such as colors.
Example input:
Output:
- Object: An object is a variable that holds data and information on how to process the data. It is the only PHP data type that has to be explicitly declared.
Output:
- Resources: A resource is a particular variable that references an external resource.
Input:
Output:
3. Variables and Variable Scope
You can declare variables anywhere in a PHP script. A variable scope is part of the script where the variable can be used. There are three variable scopes in PHP.
- Local: A variable with the local scope is declared within a function and can only be accessed within that function. You can use the same names for local variables in different functions because the local variables are only accessed by the function in which they are declared.
Eg:
- Global: A variable with global scope is declared outside a function and can only be accessed outside a function.
Eg:
- Static: Normally, variables are deleted when their underlying function is completed. However, if you don’t want the variable deleted, you will use a static keyword when declaring the variable. Each time the function is referred to, that static variable will still have the info it contained when it was called. (Note that the variable still has a local scope).
4. Constants and Their Uses
Constants are names used to identify simple values. Unlike variables, the value cannot be changed during the script, and they are executed globally across the entire PHP script. Another difference is that variables are case-sensitive, while constants can be case-sensitive or case-insensitive.
For a constant to be valid, its name must begin with a letter or underscore. There should be no $ sign before the constant name.
The Define Function
The define () function is used to create a constant. E.g., “define(name, value, case-insensitive). The “name” parameter defines the name, the “value” parameter defines the value while the “case-insensitive” specifies whether the constant name should be case-insensitive.
Example with a case-sensitive name (need to capitalize GREETING)
Example with a case-insensitive name: (No need to capitalize “GREETING)
PHP Constant Arrays
In PHP version 7, you can use the define a () function to create an Array constant.
Control Structures
Control Structures in PHP allow a script to react based on events or user inputs. There are two types of control structures: conditional statements and loops.
1. Conditional Statements
Conditional Statements allow a script to change its path of execution based on whether single or multiple conditions are true or false. There are many types of conditional statements, such as:
If Statements: The if statement begins with “if”, followed by the condition in parentheses. It executes a code if the statement is true and does nothing if the statement is false.
Eg:
If…else Statement: The if…else statement executes a code if the statement is true and another code if the statement is false.
If/Else if/Else statements: This statement contains a series of conditions. The script proceeds to the second condition if the first outcome is false.
Switch statement: The switch statement uses a variable to decide which code block to execute based on a series of conditions. The condition that matches the variable will be executed. If there is no match, the script will run the default statement. (Insert a break between each block of code to prevent the script from running from one code to another automatically.)
Example:
The Ternary Operator: Although it is an operator, the Ternary Operator can also be used for If/Else Statements. It can only be used in situations where you want to execute a single expression based on whether a single condition is true or false:
2. Loops
If you want the script to keep running the same block of code repeatedly, you can use loops. A loop will run the same block of code repeatedly as long as a specific condition is true. There are four types of loops in PHP.
While Loop: The while loop repeatedly runs the same code block if the specified condition is true.
Do…while loop: The do…while loop executes a block of code the first time, then checks for a specific condition. If the condition is true, it will rerun the code and keep doing so as long as it is true.
In the example below, the script runs through the code once and stops because the variable “F” is greater than the value “E.”
“For” loop: The “for loop” tells the script to run through a block of code a specified number of times. The parameters include “init counter” to initialize the loop counter value and test counter to evaluate for each loop iteration. The loop continues if the condition is true and stops if the condition is false. There is an “increment counter” that increases the loop counter value.
“for each” Loop: The “for each” loop works only on arrays and repeats a block of code for each element in an array.
Break and Continue
Break statements are used to “jump out” of a switch/loop statement. We used it in the switch statement above. Here is an example of a break statement in a loop structure.
Continue statements break an iteration (in the loop) if a specified condition occurs and skip to the next iteration in the loop.
3. Using Control Structures in PHP
Control structures are essential in PHP. They allow scripts to adapt to conditions based on predefined sequences. Here are some of the importance of control structures in PHP
- Continuity: Control statements (loop statements) allow developers to run the same block of code repeatedly without inserting multiple blocks of the same code into the script.
- Movement: Control statements allow programs to move from one point to another depending on user inputs or predefined conditions
- Readability: Control statements make blocks of code easier to read for developers.
Understanding the Functions in PHP
The real potential of the PHP programming language comes from its functions. PHP has over 1000 built-in functions, and you can add custom functions.
1. Defining Functions
A function is a block of code that processes input before a parameter and returns a value. This piece of code can be used repeatedly. PHP has thousands of built-in features, each accepting argument lists as input.
Users can also create and add their functions. A user-defined function is not automatically executed the moment a page loads. It waits for a “call to function” before it runs.
There are three benefits of PHP functions to PHP developers.
- Reusability: Developers can run PHP functions repeatedly. They only need to specify the fun once and call it as often as needed.
- Saves time: Since PHP developers can use the same logic, they don’t need to write much code. They only write the code once and reuse it using functions.
- Comprehension: PHP functions make it easy for developers to understand the application’s flow.
2. Calling Functions
A PHP function name ends in an open and closed parenthesis. It begins with the keyword “function”, followed by its name and then the parenthesis.
The name of a PHP function may begin with a letter or an underscore but cannot begin with a number. Feature names are also case-sensitive.
A number cannot be the first character in a feature name. It can begin with a letter or an underscore.
You can use arguments (variables) to transfer information to functions. The variables are listed after the function name within parentheses. You can add as many variables as you want, each separated by the comma (,) operator.
3. Pass by Value vs Pass by Reference
Generally speaking, the arguments in PHP are passed by value. This means the function uses a copy of the value, and the variable passed into the function cannot be modified. When the changes are made to the argument, the function argument is passed by reference. The & operator converts a function argument by value into a function argument by reference.
4. Returning Values from Functions
Use the return statement to let a function return a value.
Understanding Arrays Basics in PHP
An array in a programming language is a particular variable that stores multiple values simultaneously. PHP arrays can hold many values under one name, and you can access those values by calling an index number.
Eg:
There are three types of arrays:
- Indexed arrays
- Associative arrays
- Multidimensional arrays
1. Indexed Arrays
Indexed arrays are arrays with numeric values. You can create indexed arrays automatically or manually.
Here is an indexed array example:
2. Associative Arrays
Associative arrays are arrays with named keys.
3. Multidimensional Arrays
PHP Multidimensional Arrays are arrays that contain one or more arrays. While multidimensional arrays can contain multiple arrays, they are mostly limited to three levels for easy management. They are used to store values with more than one key. For this, we have multidimensional arrays.
Here is an example of a two-dimensional array:
4. Array Functions
Array functions are used to sort the elements in an array. You can sort them in numerical or alphabetical order, descending or ascending.
Here are the six types of sort functions for arrays:
- sort() – sort arrays in ascending order
- rsort() – sort arrays in descending order
- asort() – sort associative arrays in ascending order, according to the value
- ksort() – sort associative arrays in ascending order, according to the key
- arsort() – sort associative arrays in descending order according to the value
- krsort() – sort associative arrays in descending order, according to the key
Below is an example of the sort function for array in ascending alphabetical order:
You can read about the other types in this learning resource.
Working with Forms and User Input in PHP
Forms are used to collect user input. These forms may be login forms, contact forms, and registration forms.
PHP developers create forms using HTML on a web application. Then they use PHP to connect the web application with the database server.
Here is a simple form:
1. Retrieving User Input
When a user fills out a form and submits it, the input is sent to a PHP file named “welcome.php”. To access the data, you echo all the variables.
You can use both GET and POST to create an array. The created array will contain key/value pairs. The keys refer to the names of the form controls, while the values are the input data from the user.
GET and POST are superglobals treated as $_GET and $_POST. As superglobals, they are always accessible from any function, class or file. Use the GET method for general values and the POST method for sensitive information.
2. Validating Input
Validating input means checking to see that the data is in proper form. Here are some of the importance of validating input in PHP
- Input validation in PHP helps prevent security vulnerabilities and program errors.
- Input validation ensures that only correct inputs enter the workflow
- Input validation prevents malformed data from entering the information system.
3. Sanitizing Input
Sanitizing data uses PHP filters to remove any illegal characters from the data.
These filters are essential for web applications that receive external input such as cookies, web services data, user input from forms, server variables and database query results. It is necessary to validate external data to secure your web page and avoid any security problems.
PHP filter_var() Function can be used to:
- Validate and sanitize data
- Sanitize a string
- Validate an integer
- Validate an IP address
- Sanitize and validate an email address
- Sanitize and validate an URL
Working with Databases in PHP
PHP supports many databases, but MySQL database is the most popular one.
Databases like MySQL are used for storing information. MySQL is the most popular option because it runs on a web server, is swift, and works for small and large applications. It is currently distributed by Oracle Corporation and to download and use.
Other types of databases are PostgreSQL and SQLite.
1. Connecting to a Database
If you are using PHP 5 and higher versions, you can connect with a MySQL database using the MySQLi extension or PDO (PHP Data Objects). Earlier versions use the MySQL extension.
The MySQLi extension works with only MySQL databases. So, if you intend to switch to other databases, use the PDO.
However, MySQLi also offers a procedural API which is lacking in the PDO.
Go to: http://php.net/manual/en/mysqli.installation.php for installation details for MySQLi and http://php.net/manual/en/pdo.installation.php for installation details on PDO.
Database connection errors typically occur when connecting to databases such as MySQL, PostgreSQL and SQLite. However, most beginners can set up an installation without a hitch.
2. Executing SQL Queries
After successfully connecting the database with PHP, you can execute queries from the PHP code itself using mysqli_query(). Here is a brief rundown of the steps:
- Create database
- Insert the data
- Get the ID of the last inserted or updated record
- Select data
- Delete data
- Update data
- Limit selections using the LIMIT clause
3. Fetching Data from a Database
You can fetch data from the MySQL database by executing SQL SELECT statements. The popular method is the PHP function mysql_query. Alternatively, you can use the mysql_fetch_assoc() function.
4. Updating and Deleting Data
Updating and deleting data using PHP is possible with all databases. If you use MySQL, you can perform these operations using MySQLi and PDO.
The UPDATE function updates existing records in a table while the DELETE statement deletes records from a table:
Object-Oriented Programming (OOP) Basics in PHP
Object-Oriented Programming (OOP) makes PHP codes faster and easier to execute. OOP involves creating objects that contain functions and data.
Developers choose object-oriented programming because:
- it is faster and easier to execute
- it structures programs in a clear way
- It makes the code easy to maintain, modify and debug
1. Classes and Objects
The two main aspects of OOP are classes and objects. Classes are like categories for objects, while objects are items within a class. When an object is created, it inherits all the behaviors and properties from the class. However, each object has unique values that make it different.
The class function is defined by the class keyword, followed by the class name and a pair of curly braces ({}).
2. Properties and Methods
The properties of a class can be static or non-static. Static properties are called directly.
You use the class name, double colon (::), and the property name to access a static property.
Like static properties, static methods can also be called directly and are declared with the static keyword. You use the class name, double colon (::), and the property name to access a static method.
3. Constructors and Destructors
Constructors and destructors in PHP were used to initialize and clean up object properties. They fall under PHP OOP.
The __construct function allows you to initialize an object’s properties after creating it. When you create an object via the __construct() function, the function will be called automatically.
The __destruct function allows you to end a function at the end of the script. It begins with __destruct() functions (two underscores)!
4. Inheritance
As we noted earlier, an object open creation would inherit properties and behaviors from the class. However, inheritance in OOP happens when a child class derives from another parent class.
The child class will have all the methods and properties of the parent class and its unique properties and methods.
Conclusion
PHP is the leading programming language behind some of the best webbie builders. It is supported by virtually all the best web hosting providers.
In this article, we have provided a brief overview of PHP biases. However, this guide does not nullify the need for in-depth learning resources and one-on-one teaching. It serves as a primer on the basic concepts you need to understand when using PHP for web development.
Next Steps: What Now?
- Best Web Hosting Providers of 2023
- Best PHP Hosting Providers
- Build Your Website