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

在Ubuntu 14.04上将PHP5-FPM与Apache 2结合使用

在Ubuntu 14.04上将PHP5-FPM与Apache 2结合使用

简介Apache是​​流行的Web服务器软件,大多数Web托管提供商都使用它。PHP5-FPM是用于PHP的FastCGI实现。这对于

在Vultr WordPress应用程序上升级到PHP 7

在Vultr WordPress应用程序上升级到PHP 7

最近,2015年12月,PHP版本7作为其前身PHP 5的主要升级版本发布。与PHP 5中最新的主要版本PHP 5.6相比

如何在Ubuntu 18.04 LTS上安装X-Cart 5

如何在Ubuntu 18.04 LTS上安装X-Cart 5

使用其他系统?X-Cart是一个非常灵活的开源电子商务平台,具有大量功能和集成。X-Cart源代码托管

如何在Fedora 28上安装PyroCMS

如何在Fedora 28上安装PyroCMS

使用其他系统?PyroCMS是用PHP编写的开源CMS。PyroCMS源代码托管在GitHub上。在本指南中,请仔细阅读整个条目

如何在Debian 10上安装Cachet

如何在Debian 10上安装Cachet

使用其他系统?Cachet是一个用PHP编写的开源状态页面系统。Cachet源代码托管在Github上。在本指南中,我们将继续

在Ubuntu 16.04上使用Apache安装phpBB

在Ubuntu 16.04上使用Apache安装phpBB

PhpBB是一个开源公告板程序。本文将向您展示如何在Ubuntu 16.04上的Apache Web服务器上安装phpBB。这是书面的

在Ubuntu 16.04上设置Codeigniter应用程序

在Ubuntu 16.04上设置Codeigniter应用程序

简介Codeigniter是一个功能非常强大的PHP框架,占地面积很小。本指南假定您至少有一个正常工作的LAMP堆栈和root访问权限

如何在CentOS 7上安装Cachet

如何在CentOS 7上安装Cachet

使用其他系统?Cachet是一个用PHP编写的开源状态页面系统。该Github存储库中托管了Cachet源代码。在本文中

用于CentOS 6上的PHP依赖的Setup Composer

用于CentOS 6上的PHP依赖的Setup Composer

简介Composer是流行的PHP依赖性管理器,可以简化项目所需的库的安装和更新。

如何在Ubuntu 16.04上安装Zikula

如何在Ubuntu 16.04上安装Zikula

使用其他系统?简介Zikula是一个用PHP编写的开源Web应用程序框架。您可以设计交互式和可编辑的网站

如何在Ubuntu 15.04上安装XCache

如何在Ubuntu 15.04上安装XCache

XCache是​​PHP的开源操作码缓存器。在本教程中,我将介绍如何安装和配置XCache。我认为您已经有网络服务

如何在Fedora 29上安装Vanilla论坛

如何在Fedora 29上安装Vanilla论坛

使用其他系统?简介Vanilla是一个用PHP编写的简单讨论论坛。Vanilla源代码在Github上公开托管。本指南将

在Linux上设置Symfony 3应用程序

在Linux上设置Symfony 3应用程序

简介Symfony是最流行的PHP框架之一,可用于轻松快速地开发自己的应用程序。设有分类员

如何在Arch Linux Web服务器上安装PHP 7.3

如何在Arch Linux Web服务器上安装PHP 7.3

先决条件运行最新的Arch Linux的Vultr服务器(请参阅本文。)正在运行的Web服务器,可以使用Apache或Nginx Sudo访问。命令要求

如何在Ubuntu 16.10上安装Snipe-IT

如何在Ubuntu 16.10上安装Snipe-IT

使用其他系统?Snipe-IT是用于IT资产管理的免费开源Web应用程序。它是在Laravel 5.2框架上编写并使用的

如何在FreeBSD 11上安装PyroCMS

如何在FreeBSD 11上安装PyroCMS

使用其他系统?PyroCMS是用PHP编写的开源CMS。PyroCMS源代码托管在GitHub上。在本指南中,请仔细阅读整个条目

如何在Fedora 31上安装X-Cart 5

如何在Fedora 31上安装X-Cart 5

使用其他系统?X-Cart是一个非常灵活的开源电子商务平台,具有大量功能和集成。X-Cart源代码托管

如何在Debian 9(Stretch)上安装Dotclear

如何在Debian 9(Stretch)上安装Dotclear

使用其他系统?Dotclear是一个非常简单的博客引擎。它是开源的,易于使用。本教程将通过以下方式进行安装

如何在Debian 10上安装X-Cart 5

如何在Debian 10上安装X-Cart 5

使用其他系统?X-Cart是一个非常灵活的开源电子商务平台,具有大量功能和集成。X-Cart源代码托管

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 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。