The Fundamentals of PHP: A Beginner's Guide
Ron Chaplin
PHP (Hypertext Preprocessor) is one of the most popular server-side scripting languages used for web development. It powers a vast majority of websites, including platforms like WordPress, Laravel, and Magento. If you're new to PHP, this guide will walk you through its fundamentals, helping you get started with writing and understanding PHP code.
1. Introduction to PHP
PHP is an open-source, general-purpose scripting language specifically designed for web development. It seamlessly integrates with HTML, allowing developers to create dynamic web applications efficiently. PHP scripts run on the server, generating HTML that is sent to the client’s browser.
Key Features of PHP:
- Open-source and free to use
- Supports multiple databases (MySQL, PostgreSQL, SQLite, etc.)
- Cross-platform compatibility (works on Windows, macOS, and Linux)
- Large community support with extensive documentation
- Flexible and easy to learn
2. Setting Up PHP
To start coding in PHP, you need a local development environment. Popular options include:
- XAMPP (Cross-platform Apache, MySQL, PHP, Perl)
- WAMP (Windows, Apache, MySQL, PHP)
- MAMP (Mac, Apache, MySQL, PHP)
- LAMP (Linux, Apache, MySQL, PHP)
Once installed, you can create PHP files with a .php extension and run them on your local server.
3. Writing Your First PHP Script
A basic PHP script starts with <?php and ends with ?>. Here’s an example:
<?php
echo "Hello, World!";
?>
When executed on a server, this script outputs:
Hello, World!
Embedding PHP in HTML
PHP can be embedded directly within an HTML file:
<!DOCTYPE html>
<html>
<head>
<title>PHP Example</title>
</head>
<body>
<h1><?php echo "Hello, PHP!"; ?></h1>
</body>
</html>
4. PHP Variables and Data Types
Declaring Variables
Variables in PHP are prefixed with $ and do not require explicit type declaration.
<?php
$name = "John";
$age = 25;
echo "My name is $name and I am $age years old.";
?>
Data Types in PHP
PHP supports multiple data types, including:
- String:
$name = "Alice"; - Integer:
$age = 30; - Float (double):
$price = 99.99; - Boolean:
$isAvailable = true; - Array:
$colors = array("red", "green", "blue"); - Object: Custom objects created from classes
- NULL:
$value = NULL;
5. PHP Operators
Arithmetic Operators
<?php
$x = 10;
$y = 5;
echo $x + $y; // 15
?>
Comparison Operators
<?php
var_dump(10 == 10); // true
var_dump(10 !== 5); // true
?>
Logical Operators
<?php
$a = true;
$b = false;
var_dump($a && $b); // false
?>
6. Control Structures
If-Else Statements
<?php
$age = 20;
if ($age >= 18) {
echo "You are an adult.";
} else {
echo "You are a minor.";
}
?>
Switch Statement
<?php
$day = "Monday";
switch ($day) {
case "Monday":
echo "Start of the week!";
break;
case "Friday":
echo "Weekend is near!";
break;
default:
echo "Just another day.";
}
?>
Loops
While Loop
<?php
$i = 1;
while ($i <= 5) {
echo "The number is: $i <br>";
$i++;
}
?>
For Loop
<?php
for ($i = 1; $i <= 5; $i++) {
echo "Iteration: $i <br>";
}
?>
7. PHP Functions
Functions allow code reuse and modularity.
Defining and Calling Functions
<?php
function greet($name) {
return "Hello, $name!";
}
echo greet("Alice");
?>
8. PHP Arrays
Arrays store multiple values in a single variable.
Indexed Arrays
<?php
$fruits = ["Apple", "Banana", "Cherry"];
echo $fruits[0]; // Apple
?>
Associative Arrays
<?php
$person = ["name" => "John", "age" => 30];
echo $person["name"]; // John
?>
9. PHP Forms and User Input
PHP is commonly used to process form data.
<form method="POST" action="process.php">
Name: <input type="text" name="name">
<input type="submit">
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST["name"];
echo "Hello, $name!";
}
?>
10. PHP and MySQL
PHP interacts seamlessly with MySQL databases.
Connecting to a Database
<?php
$conn = new mysqli("localhost", "username", "password", "database");
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
Running a Query
<?php
$sql = "SELECT * FROM users";
$result = $conn->query($sql);
while ($row = $result->fetch_assoc()) {
echo "Name: " . $row["name"] . "<br>";
}
?>
Conclusion
PHP remains a powerful tool for web development. Mastering its fundamentals—variables, loops, functions, forms, and database interactions—provides a strong foundation for building dynamic websites and applications. Whether you're just getting started or planning to dive deeper into frameworks like Laravel, PHP offers vast opportunities for developers of all levels.