Getting started with PHP
Published: 2020-04-06 21:47:29

Hi there! When you start with web development, at some point, you realize that HTML and CSS are not enough to achieve your project goals.

There are a lot of technologies to build dynamic websites and PHP is one of the easiest ones and perfect if you want to build simple backends. Besides, it is a good option for beginners' self-taught web developers. It is really easy, and there is a lot of documentation.

This is the fist of a series of posts in which we will learn the basics of programming logic using PHP.

## What is PHP?

Paraphrasing the omniscient Wikipedia, PHP is a programming language specially created for web development, and it is usually processed on a web server by a PHP interpreter implemented.

In simple words, it is a programing language to write server side web applications.

## What do I need?

- A computer, obviously, with Windows, Linux or Mac.
- You need to install either [WAMP, LAMP, MAMP or XAMPP](https://code-boxx.com/difference-wamp-lamp-mamp-xampp/)
  - Windows users: [WAMP](http://www.wampserver.com/en/)
  - Linux users: [LAMP](https://medium.com/better-programming/how-to-install-lamp-stack-on-ubuntu-db77ac018116)
  - Mac users: [MAMP](https://www.mamp.info/en/mac/)
- Basic shell commands
- Your favorite text editor

## Hello, World!

Once you install the Apache server and PHP we can start coding. Open the command line, go to your server root (Usually `C:\wamp\www\` on Windows, `/var/www/` on Linux, and `/Applications/MAMP/htdocs/` on Mac) to create a new folder and our first PHP file.

```shell
mkdir my-first-php-script

cd my-first-php-script

touch helloworld.php
// On windows
type nul > helloworld.php
```

Open the file you just created and add the following lines

```php
<?php
echo 'Hello, World!';
?>
```
Now, if you are using WAMP or LAMP, go to <code>[http://localhost/my-first-php-script/helloworld.php](http://localhost/my-first-php-script/helloworld.php)</code> or <code>[http://127.0.0.1/my-first-php-script/helloworld.php](http://127.0.0.1/my-first-php-script/helloworld.php)</code>. If you are using MAMP, go to <code>[http://localhost:8888/my-first-php-script/helloworld.php]()</code> And you will see the message "Hello, World!" in your browser.

What happened here? I think you noticed the delimiters `<?php ?>`. They are required to insert the PHP code. Consider that you can mix PHP with HTML so these delimiters tell the server interpreter that this is PHP code. Let's see.

```shell
touch index.php
```

Open the file and add the following

```php
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>PHP Hello World</title>
</head>
<body>
  <?php
    echo 'Hello, World!';
  ?>
</body>
</html>
```

This will be rendered as a simple HTML page but we are sending the "Hello, World!" from PHP, using the delimiters.

Let's continue. The command `echo` is a language constructor that allows us, in this case, to print a string in the browser. Notice that we are using a semicolon at the end of the line. This is really important in PHP. Each operation line must be ended by a semicolon, there are exceptions that we will see then.

To ease coding, we can abbreviate the `echo` command this way.

```php
<?= 'PHP Hello World' ?>
```

Let's see it working.

```php
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <!-- Abreviated `echo` command` -->
  <title><?= 'PHP Hello World' ?></title>
</head>
<body>
  <?php
    echo 'Hello, World!';
  ?>
</body>
</html>
```

Now you can check in your browser and see how the title stays the same. Notice that I didn't add a semicolon at the end of the line. You can add it, but it is not required in this case.

## Comments

PHP supports the same kind of comments that use languages like C, C++, and Shell. Let's see

```shell
touch comments.php
```

Open the file and add the following

```php
<?php
echo 'This is an Example' // One line comment.
/* 
  Multiline comment
*/
# Like shell comment.
?>
```

We have to be careful with multiline comments. A simple error can crash your whole script.

```php
<?php
echo 'This is OK'
/* 
  The multiline comments have delimiters.
  If you write something after closing, PHP will
  try to execute it as code and as obviously it 
  won't make sense, the script will crash
*/ <- Close delimiter.

echo 'This is not right'
?>
```

This is all for now. Next time we will learn about variables. I hope y you have found this useful. Please like and share and if you think something is missing, please let me know in the comments below.