2019年PHP快速指南

介绍

什么是PHP?

PHP(超文本预处理器)是一种通用的脚本语言,使用户能够创建大量应用程序,尤其是服务器端Web开发。您可以将PHP用于以下用途:

  • 创建动态网站,Web应用程序以及您自己的API服务
  • 与第三方API交互
  • 处理数据(XML,HTML DOM等)
  • 操作数据库(PHP支持MySQL / MariaDB,SQLite,MongoDB !)

话虽如此,PHP的一大优势在于它是一种松散类型的语言。您不必担心声明特定类型。(int) $variable = 0;例如,您可以简单地使用而不是键入,$variable = 0;并且PHP将自动检测变量类型。

其他优点

除了开源之外,PHP还包括:

  • 易于安装
  • 多平台(可在安装了该平台的任何操作系统上运行)
  • 快速(与C#等预编译语言相反,代码编译是实时完成的)
  • 开源的

本指南将涵盖哪些内容?

本指南将涵盖:

  • PHP约定
  • 创建一个“你好,世界!” 页面和一个简单的计算器
  • 如何交互和查询第三方API以获取当前天气

额外文件

如果您迷路了并且需要查找方法/函数,请访问PHP的文档页面

创建第一个程序

约定

在创建第一个应用程序之前,需要注意以下重要事项:

  1. PHP代码始终以开头,<?php通常以结尾?>
  2. PHP将错误发送到名为的文件error_log。例如,如果您尝试调用一个不存在的功能,你会看到PHP Fatal error:后面 Uncaught Error: Call to undefined function function_that_does_not_exist()
  3. 与大多数语言一样,PHP区分大小写。换句话说,$var!= $Var
  4. 虽然PHP变量并不特别要求类型,但是您可能需要强制转换(或更改类型)。这可以通过将类型强制转换为变量来完成。范例:(int) $variable = ...

“你好,世界!”

这是本教程的最基本部分。“你好,世界!” 本部分旨在教您如何创建正确的文件以使其正确解析。不过,在开始之前,请确保您具有运行PHP的可运行网络服务器。本教程假定您正在使用配置了的Apache php-cli。Vultr提供了多个PHP堆栈(LAMP,LEMP)作为一键式应用程序。准备就绪后,请继续以下步骤。

在网络服务器的根目录中创建一个名为“ test.php”的文件:

nano test.php

用以下代码填充它:

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

保存并退出。

test.php在浏览器中访问时,您将看到:

Hello, world!  
Hello, world!

注意:在结构上,printecho有所不同。就功能而言,它们大致相同。

一个简单的计算器

该程序将接受两个输入并将它们加在一起。本节旨在教您有关PHP如何处理数据类型的知识。

创建一个名为的新文件calc.php

nano calc.php

用以下代码填充它:

<!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>

保存并退出。

当您访问时calc.php,您将看到如下形式的表格:

2019年PHP快速指南

输入您想要的任何数字;答案应该是第一和第二个数字的总和。

注意这是一个非常基本的代码块,没有任何错误处理。例如,如果两个数字均未填写,则将考虑输入空白0,但将引发“非数字值”警告。

一个简单的天气检查器

现在我们已经完成了大多数基础知识(简单的数学和变量),我们可以创建一个应用程序来获取任何城市的天气情况。

注意:我们将使用Dark Sky的 weather API来获取我们的数据。请先获取免费的API密钥,然后再继续执行第一步。

通过单击“控制台”确认电子邮件后,检索API密钥。您将看到以下内容:

2019年PHP快速指南

复制密钥后,继续下一步。

创建一个名为的新文件temperature.php

nano temperature.php

用以下代码填充它:

<?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>"
?>

保存文件并访问页面后,您将看到类似以下内容的内容:

It is currently: 57.78F or 14.32C.

此值是动态的,并且每分钟更新一次。假设一切正常,您将为您所在的区域创建一个实时天气页面。我们已经成功地将基本的PHP算法与将值存储在变量中结合在一起,并且使用了一些基本函数。

结论

恭喜,您已经完成一些基本程序!有了这些基础知识和奉献精神,您应该能够创建任何东西。如果您遇到困难或需要查找特定功能,请参考 PHP的文档。当您继续发现新功能和新技术时,它将证明是无价的。

尽管本快速入门指南没有涵盖任何内容,但它应该使您大致了解该语言的工作方式。尽管实践是完美的-随着用PHP编写越来越多的代码,您将变得更加舒适。



Leave a Comment

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息