How to create your first PHP program
When learning a new programming language we have this tradition of creating a “Hello, World!” application. Something that prints those strings.
Make sure MAMP is running, and open the htdocs
folder as explained above.
Open the index.php
file in a code editor.
I recommend using VS Code, it’s a very simple code editor. See https://flaviocopes.com/vscode/ for an introduction.
This is the code that generates the “Welcome to MAMP” page you saw in the browser.
Delete everything and replace that with:
<?php
echo 'Hello World';
?>
Save, refresh the page on http://localhost:8888, you should see this:
Great!
That was your first PHP program.
Let’s explain what is happening here.
We have the Apache HTTP server listening on port 8888
on localhost, your computer.
When we access http://localhost:8888 with the browser we’re making an HTTP request, asking for the content of the route /
, the base URL.
Apache by default is configured to serve that route serving the index.html
file included in the htdocs
folder. That file does not exist, but as we have configured Apache to work with PHP, it will then search for an index.php
file.
That file exists, and PHP code is executed server-side before Apache sends the page back to the browser.
In the PHP file, we have a <?php
opening, which says “here starts some PHP code”.
We have an ending ?>
that closes the PHP code snippet, and inside it, we use the echo
instruction to print the string enclosed into quotes into the HTML.
A semicolon is required at the end of every statement.
We have this opening/closing structure because we can embed PHP inside HTML. PHP is a scripting language, whose goal is to be able to “decorate” an HTML page with dynamic data.
Note that with modern PHP, we generally avoid mixing PHP into the HTML, and instead PHP is used as a “framework to generate the HTML”, for example using tools like Laravel. But we discuss plain PHP in this book, so it makes sense to start from the basics.
For example, something like this will give you the same result in the browser:
Hello
<?php
echo 'World';
?>
To the final user, that looks at the browser and has no idea of the code behind the scenes, there’s no difference at all.
The page is technically an HTML page, even though it does not contain HTML tags but just a
Hello World
string, but the browser can figure out how to display that in the window.
→ I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter
→ JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025