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.
index.php file in a code editor.
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:
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
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 Worldstring, but the browser can figure out how to display that in the window.