PHP是一种可用来创建多种应用程序的脚本语言,尤其适合服务端开发。PHP的用途如下:
- 创建动态网站、应用程序、API服务等
- 和第三方API对接
- 处理体育,如XML、JSON、HTML等
- 操作体育库,如MySQL、SQLite、MongoDB等
PHP的一大优势是弱类型,无需特别申明类型。比如我们申明$variable = 0,PHP会自动检测变量variable的类型为整形。PHP的其他优势还有:
- 开源
- 安装简便
- 跨平台支持(可运行在多种操作系统上)
- 解释型脚本,无需编译,运行速度快
PHP的官方手册:
PHP代码规范
在开发PHP入门示例之前,我们需要了解PHP的一些基本代码规范。
- PHP是以<?php开头,以?>结尾。如果一个文件完全是由PHP代码构成,也可以不加结尾。
- 如果执行失败,PHP会向error_log文件写入日志。比如我们调用了一个不存在的函数,那么会提示错误:followed by Uncaught Error: Call to undefined function function_that_does_not_exist()。
- PHP是大小写敏感的代码,$var和$Var是两个不同的变量。
- 虽然PHP是弱类型的代码,我们也可以显式的申明或转换类型。申明方法是在变量前加上类型,比如:(int)$var。
下面进入具体示例的开发。
实例1:Hello World!
Hello World!是大部分程序员在学习某种新语言时的第一个程序,目的是验证开发环境是否配置正常。在编写程序之前,请参考下面的帮助,在乐鱼全站app下载上安装好PHP环境。
如何在Ubuntu乐鱼全站app下载上安装Apache、PHP和MySQL?
如何在CentOS 7乐鱼全站app下载上安装Apache、PHP和MySQL?
如何在CentOS 6乐鱼全站app下载上安装Apache、PHP和MySQL?
接下来,创建一个名为test.php的文件。
vi test.php
内容如下:
<?php
print("Hello, world!<br>");
$testString = "Hello, world!";
echo $testString;
保存退出后,通过浏览器访问test.php,页面输出如下:
Hello, world!
Hello, world!
至此,Hello World!程序运行成功。
实例2:简易计算器
这个示例的功能是把两个输入参数相加得出结果。通过这个示例的学习,我们可以了解PHP是如何处理体育类型的。
创建一个名为calc.php的文件。
vi 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,页面输出如下:
分别输入两个数字,点击Submit,就会看到这两个数字的和。
注意:出于简单起见,这段代码没有涉及到异常处理。如果没有输入数字,浏览器会显示错误提示。
实例3:简易天气预报
现在我们已经掌握了PHP的基本使用方法,接下来我们创建一个简易的天气预报程序。这里我们需要用到Dark Sky公司提供的天气API体育,因此需要先到Dark Sky网站注册用户名并获取API密钥。
创建一个名为temperature.php的文件。
vi 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("//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>"
保存退出后,通过浏览器访问temperature.php,页面输出如下:
It is currently: 57.78F or 14.32C.
这个程序可以动态获取某个区域的实时温度,温度值会每分钟更新一次。至此,我们已学会了PHP的基本运算,以及变量和函数的使用方法。
小结
我们已完成了三个PHP的入门实例。虽然这些实例很简单,但是它们展示了PHP的基本理念和工作机制。用这些基本的知识,再结合PHP的官方手册,我们可以创建任何想要的程序!后面,就需要大家多多实践了,熟能生巧就能学好PHP。