A Quick Guide to PHP in 2019

Introduction

What Is PHP?

PHP (Hypertext Preprocessor) is a versatile scripting language that gives users the ability to create a plethora of applications, especially server-side web development. You can use PHP for the following:

  • Create dynamic websites, web applications as well as your own API service
  • Interact with third party APIs
  • Process data (XML, HTML DOM and more)
  • Manipulate databases (PHP supports MySQL/MariaDB, SQLite, MongoDB, and more!)

Having said that, a large advantage to PHP is that it's a loosely typed language. You won't have to worry about declaring specific types. Rather than typing (int) $variable = 0;, for example, you can simply use $variable = 0; and PHP will automatically detect the variable type.

Other Advantages

In addition to being open source, PHP is also:

  • Easy to install
  • Multi-platform (runs on any operating system on which it is installed)
  • Fast (compilation of code is done real-time, as opposed to pre-compiled languages such as C#)
  • Open-source

What Will This Guide Cover?

This guide will cover:

  • PHP conventions
  • Creating a "Hello, world!" page and a simple calculator
  • How to interact and query a 3rd party API to get the current weather

Extra Documentation

If you ever get lost and need to find a method/function, visit PHP's documentation page.

Creating Your First Programs

Conventions

Before we create our first application, a few important things to note are as follows:

  1. PHP code always starts with <?php and typically terminates with ?>.
  2. PHP sends errors to a file called error_log. For example, if you try to call a nonexistent function, you will see PHP Fatal error: followed by Uncaught Error: Call to undefined function function_that_does_not_exist().
  3. PHP, like most languages, is case-sensitive. In other words, $var != $Var.
  4. While PHP variables don't specifically require types, you may need to cast (or change the type). This can be done by casting the type before a variable. Example: (int) $variable = ....

"Hello, world!"

This is the most basic part of the tutorial. The "Hello, world!" portion aims to teach you how to create a proper file in order to have it parsed properly. Before we start, though, please make sure that you have a working web-server with PHP running. This tutorial assumes you are using Apache configured with php-cli. Vultr offers several PHP stacks (LAMP, LEMP) as one-click applications. When you are ready, proceed to the following steps.

Create a file called "test.php" in your web-server's root directory:

nano test.php

Populate it with the following code:

<?php 
    $testString = "Hello, world!";
    print("Hello, world!<br/>"); // <br/> = HTML line break
    echo $testString;
?>

Save and exit.

When you visit test.php in your browser, you will see:

Hello, world!  
Hello, world!

Note: Architecturally, print & echo are different. Functionality-wise, they are about the same.

A Simple Calculator

This program will take two inputs and add them together. This section aims to teach you about how PHP handles data types.

Create a new file called calc.php:

nano calc.php

Populate it with the following code:

<!DOCTYPE html>
<html>
    <head>
        <title>Calculator</title>
    </head>
    <body>
        <form method="POST" action="calc.php">
            <input type="number" name="firstNumber" placeholder="First #"/>
            <p>+</p>
            <input type="number" name="secondNumber" placeholder="Second #"/>
            <p>=</p>
            <input type="submit" value="Submit"/>
            <p>
                <?php
                    // The line below checks if there is a value present in both boxes.
                    if (isset($_POST['firstNumber']) && isset($_POST['secondNumber'])) { 
                        // The line below returns the sum of the two values
                        echo $_POST['firstNumber'] + $_POST['secondNumber'];
                    }
                ?>
            </p>
        </form>
    </body>
</html>

Save and exit.

When you visit calc.php, you will see a form that looks like the following:

A Quick Guide to PHP in 2019

Enter any number you'd like; the answer should be the sum of the first and second numbers.

Note: This is a very basic code block without any error handling. If both numbers are not filled out, for example, the blank input will be considered 0, but a "non-numeric value" warning will be thrown.

A Simple Weather Checker

Now that we have most of the basics (simple mathematics & variables) done, we can create an application that pulls the weather for any city.

NOTE: We'll be using Dark Sky's weather API to get our data. Please obtain a free API key before proceeding to the first step.

Retrieve your API key once you've confirmed your email by clicking on "Console." You will see the following:

A Quick Guide to PHP in 2019

Proceed to the next step once you've copied the key.

Create a new file called temperature.php:

nano temperature.php

Populate it with the following code:

<?php
    // Retreive weather data for a certain set of coordinates (43.766040, -79.366232 = Toronto, Canada); change "YOUR_API_KEY" to your own API key
    $json = file_get_contents("https://api.darksky.net/forecast/YOUR_API_KEY/43.766040,-79.366232?exclude=daily,hourly,minutely,flags,alerts");

    // Tell PHP to parse the data and convert the JSON into an indexed array
    $data = json_decode($json, true);

    // Get our temperature from the array
    $temperatureInF = $data["currently"]["temperature"];

    // Convert it into Celsius using the formula: (Fahrenheit - 32) * 5 / 9
    $rawTemperatureInC = ($temperatureInF - 32) * (5 / 9);
    $temperatureInC = round($rawTemperatureInC, 2);

    // Return temperature in both Celsius and Fahrenheit
    echo "<h1>";
    echo "It is currently: " . $temperatureInF . "F or " . $temperatureInC . "C.";
    echo "</h1>"
?>

Once you save the file and visit the page, you will see something along the lines of the following:

It is currently: 57.78F or 14.32C.

This value is dynamic and updates every minute. Assuming everything worked out properly, you will have created a live weather page for your area. We've successfully combined basic PHP arithmetic along with storing values in our variables, as well as using a few basic functions.

Conclusion

Congratulations -- you've completed some basic programs! With these basics down, and some dedication, you should be able to create anything. If you're ever stuck or need to find a specific function, please refer to PHP's documentation. It will prove invaluable when you continue to discover new functions and techniques.

While this quick-start guide doesn't cover anything too in-depth, it should give you a general idea of how the language works. Practice makes perfect though -- you'll become more comfortable as you write more and more code in PHP.


Yii alkalmazás beállítása Ubuntu 14.04-en

Yii alkalmazás beállítása Ubuntu 14.04-en

A Yii egy PHP-keretrendszer, amely lehetővé teszi alkalmazások gyorsabb és egyszerűbb fejlesztését. A Yii telepítése Ubuntura egyszerű, amint azt pontosan megtudhatja

A Vanilla Forum telepítése az Ubuntu 16.04-re

A Vanilla Forum telepítése az Ubuntu 16.04-re

Más rendszert használ? A Vanilla forum egy nyílt forráskódú, PHP-ben írt fórumalkalmazás. Ez egy teljesen testreszabható, könnyen használható, és támogatja a külsőt

A Vanilla Forum telepítése a CentOS 7 rendszeren

A Vanilla Forum telepítése a CentOS 7 rendszeren

Más rendszert használ? A Vanilla forum egy nyílt forráskódú, PHP-ben írt fórumalkalmazás. Ez egy teljesen testreszabható, könnyen használható, és támogatja a külsőt

Használjon PHP5-FPM-et az Apache 2-vel Ubuntu 14.04-en

Használjon PHP5-FPM-et az Apache 2-vel Ubuntu 14.04-en

Bevezetés Az Apache egy népszerű webszerver szoftver, amelyet a legtöbb webtárhely-szolgáltató használ. A PHP5-FPM egy FastCGI implementáció a PHP számára. Hasznos a számára

A phpMyAdmin telepítése és biztonságossá tétele Ubuntu 14.04 és 16.04 alatt

A phpMyAdmin telepítése és biztonságossá tétele Ubuntu 14.04 és 16.04 alatt

Előfeltételek Új Vultr Ubuntu 14.04 vagy 16.04 szerverpéldány. Statikus szerver IP (ez a fő Vultr szerver IP-je). Nem root szerver felhasználó sud-val

Az Apache, a MySQL és a PHP telepítése Ubuntu 18.04-re

Az Apache, a MySQL és a PHP telepítése Ubuntu 18.04-re

Az Apache telepítése Először frissítse a csomagkezelőt. sudo apt-get update -y sudo apt-get upgrade -y Telepítse és indítsa el az Apache-t. sudo apt-get install apache

A PyroCMS telepítése az Ubuntu 16.04 rendszeren

A PyroCMS telepítése az Ubuntu 16.04 rendszeren

Más rendszert használ? A PyroCMS egy PHP nyelven írt nyílt forráskódú CMS. A PyroCMS forráskódja a GitHubon található. Ebben az útmutatóban jól járja végig az egészet

Az ionCube Loader beállítása CentOS 7 rendszeren

Az ionCube Loader beállítása CentOS 7 rendszeren

Az ionCube Loader egy PHP-bővítmény, amely lehetővé teszi a webszerver számára, hogy olyan PHP-fájlokat hajtson végre, amelyeket az ionCube Encoder segítségével kódoltak, és amelyek szükségesek a program futtatásához.

Telepítse az Nginxet + PHP FPM + Caching + MySQL-t az Ubuntu 12.04-re

Telepítse az Nginxet + PHP FPM + Caching + MySQL-t az Ubuntu 12.04-re

Valószínűleg sokan fogják használni a Vultr VPS-eiket webszerverként, jó választás az Nginx webszerverként. Ebben a témában leírom o

A Vanilla Forum telepítése a Debian 9 rendszeren

A Vanilla Forum telepítése a Debian 9 rendszeren

Más rendszert használ? A Vanilla egy egyszerű vitafórum PHP-ben. A Vanilla forráskód nyilvánosan a Githubon található. Ez az útmutató végigvezeti Önt

Telepítse a Composer PHP-függőségeket a CentOS 6 rendszeren

Telepítse a Composer PHP-függőségeket a CentOS 6 rendszeren

Bevezetés A Composer egy népszerű PHP függőségi kezelő, amely leegyszerűsíti a projekthez szükséges könyvtárak telepítését és frissítését

A Cachet telepítése Debian 10 rendszeren

A Cachet telepítése Debian 10 rendszeren

Más rendszert használ? A Cachet egy PHP-ben írt nyílt forráskódú állapotoldal-rendszer. A Cachet forráskódja a Githubon található. Ebben az útmutatóban tovább fogunk menni

Frissítsen a legújabb PHPMyAdminra az Ubuntu 18.04-en

Frissítsen a legújabb PHPMyAdminra az Ubuntu 18.04-en

Az Ubuntu repos által terjesztett PHPMyAdmin nem kompatibilis a PHP 7.2+ verziójával. Ez szintaktikai hibákat okoz a count()-ban, valamint néhány más hívásban. Te kb

A PHP 7.2 telepítése és konfigurálása Ubuntu 18.04-en

A PHP 7.2 telepítése és konfigurálása Ubuntu 18.04-en

A PHP és a kapcsolódó csomagok a leggyakrabban használt összetevők a webszerverek telepítésekor. Ebben a cikkben megtudjuk, hogyan állíthatja be a PHP 7.2-t az Ubuntu 18.0 rendszeren

Az Apache, a MySQL és a PHP telepítése CentOS 6 rendszeren

Az Apache, a MySQL és a PHP telepítése CentOS 6 rendszeren

Bevezetés A LAMP egy mozaikszó, amely a Linux, az Apache, a MySQL és a PHP kifejezéseket jelenti. Ez a szoftververem a legnépszerűbb nyílt forráskódú megoldás az o beállításához

Az Apache, a MySQL és a PHP telepítése Ubuntun

Az Apache, a MySQL és a PHP telepítése Ubuntun

A LAMP tartalmazza az Apache-t, a MySQL-t, a PHP-t és az Ubuntut. Ez az útmutató az Ubuntu 14.04-hez íródott. Első lépés: Az Apache telepítése Az Apache egy ingyenes nyílt forráskódú szoftver számunkra

Az IonCube Loader beállítása az Ubuntu 14-en

Az IonCube Loader beállítása az Ubuntu 14-en

Mi az IonCube? Az IonCube lehetőséget ad a fejlesztőknek a PHP programozási nyelven írt kódjuk védelmére. Az IonCube megakadályozza ezt a tőkehalat

Az X-Cart 5 telepítése Fedora 31-re

Az X-Cart 5 telepítése Fedora 31-re

Más rendszert használ? Az X-Cart egy rendkívül rugalmas, nyílt forráskódú e-kereskedelmi platform rengeteg funkcióval és integrációval. Az X-Cart forráskódja hoste

Az X-Cart 5 telepítése Debian 10 rendszeren

Az X-Cart 5 telepítése Debian 10 rendszeren

Más rendszert használ? Az X-Cart egy rendkívül rugalmas, nyílt forráskódú e-kereskedelmi platform rengeteg funkcióval és integrációval. Az X-Cart forráskódja hoste

Az X-Cart 5 telepítése Ubuntu 18.04 LTS rendszeren

Az X-Cart 5 telepítése Ubuntu 18.04 LTS rendszeren

Más rendszert használ? Az X-Cart egy rendkívül rugalmas, nyílt forráskódú e-kereskedelmi platform rengeteg funkcióval és integrációval. Az X-Cart forráskódja hoste

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

Az Apple a közelmúltban kiadott egy kiegészítést a macOS Catalina 10.15.4-hez a problémák megoldására, de úgy tűnik, hogy a frissítés több problémát okoz, ami a Mac gépek blokkolásához vezet. További információért olvassa el ezt a cikket