PHP 速成课程(1)

欢迎来到这个 PHP 速成课程。PHP1994 年就已存在,并且从那时起已经发生了很大的变化。现在,在 8.1 版中,PHP 是一种完整的语言,非常适合现代 Web 开发。

在本速成课程中,我们将介绍 2022 年有关 PHP 的所有重要方面。

课程结束后,你将能够创建你的第一个 PHP 应用程序,并且你将拥有足够的 PHP 知识来继续使用 Laravel 和/或 SymfonyPHP 框架进行培训。

什么是 PHP?为什么使用 PHP?

PHP 是一种面向对象的服务器端编程语言。用于开发 Web 应用程序。

PHP 是当今 Web 上使用最广泛的服务器编程语言。近 80% 的网站都有 PHP 代码。它非常庞大!PHP 不会很快消失。

近年来,PHP 已经发展了很多。面向对象和其他几个现代概念的加入极大地改变了 PHP Web 应用程序的编码方式。

现在有数百万个网站使用 PHP。包括 FacebookWordpressWikipediaTumblrSlack 等等。

PHP 社区非常庞大、充满活力且包容性强。

PHP 还可以依赖 SymfonyLaravel(以及其他几个)等高质量框架。这些框架允许你快速可靠地开发 Web 应用程序。

简而言之,使用 PHP,你可以执行小型、大型和非常大的项目。PHP 可以处理每天几次点击或每天数百万次点击。

PHP 安装

安装 PHP 有时可能会很棘手,不要被这项任务耽误。

如果你想立即开始培训并稍后进行安装,可以使用网站 https://replit.com/languages/php7 从浏览器执行 PHP 代码。

在你的计算机上安装 PHP

你需要 PHP 版本 8.1

要检查你的机器上安装了哪个版本,你可以从终端运行此命令:

1
$ php -v

如果缺少 PHP 或安装的版本低于 PHP 8.1,则需要重新安装:

以下是 PHP 安装链接:

MacOS (hombrew):https://www.php.net/manual/en/install.macosx.packages.php

Windows (XAMPP):https://www.apachefriends.org/index.html

有关更多详细信息,请参阅官方 PHP 文档:https://www.php.net/manual/fr/install.php

PHP 基本概念

对于本教程,我们将创建一个文件夹来放置后面示例的所有文件。

1
2
$ mkdir demo-php
$ cd demo-php

从此文件夹中我们将创建一个名为 index.php 的文件

1
$ code index.php

此命令将打开 vscode 并创建一个 index.php 文件。

请注意,在本速成课程中,我们将使用 Visual Studio Code,但这不是先决条件。你可以自由使用你最喜欢的编辑器。

在文件类型的第一行

1
<?php

此标记将告诉 PHP 服务器,所有后续行都是服务器应执行的 PHP 代码。

因此,我们现在可以开始编写 PHP 代码,首先,没有什么比经典的 Hello World 更好的了!

1
2
3
<?php

echo 'Hello World';

echo 函数允许文本甚至 html 显示在浏览器当前页面中。

要测试此代码,你可以运行 PHP 附带的 PHP Web 服务器

1
$ php -S localhost:5000

-S 选项在 localhost:5000 上启动 Web 服务器

如果你打开浏览器并访问地址 http://localhost:5000PHP 服务器将呈现默认文件 index.php,因此你将看到:

1
Hello World

HTML 和 PHP

请注意,在 PHP 文件中,HTML 代码可能会与 PHP 代码混合

1
2
3
<h1>
<?php echo 'Hello World'; ?>
</h1>

此代码完全有效。?> 标记表示 PHP 代码结束。也可以有多个 PHP 代码段

1
2
3
4
5
6
7
<h1>
<?php echo 'Hello World'; ?>
</h1>

<h2>
<?php echo 'Sub title'; ?>
</h2>

尽管 PHP 可以与 HTML 混合使用,但将 PHP 代码和 HTML 代码分别放在各自的文件中是一种很好的做法。我们稍后会讨论这个概念。

变量

变量用于存储你想要在代码中处理的不同值。一旦变量存储在程序内存中,就可以稍后使用。

例如,假设你想存储用户名,你可以使用一个变量并赋予它名称:$name,并将其内容设置为“William”

1
$name = 'William';

请注意,在 PHP 中:

变量的名称以 $ 符号开头

字符串用引号括起来。

我们不必指定变量的类型(例如:字符串)。PHP 是一种解释型语言。它根据存储在其中的值自动识别数据类型。

另一方面,可以在声明变量时指定变量的类型。我们稍后会看到这个概念。
以下是 PHP 变量的 4 种基本类型以及创建它们的语法

1
2
3
4
5
6
7
8
9
10
11
12
// string
$fullName = 'William';

// integer
$count = 20;

// float (decimal number)
$bookPrice = 15.80;

// booleans
$isActive = true;
$isAdminUser = false;

PHP 还有更高级的变量类型,如数组和类。我们稍后会详细介绍所有这些。

最后,PHP 还有一些特殊类型,如 null,表示没有值。此时你应该能够理解这两个变量的内容并不相同。

1
2
3
$value = '100';

$value2 = 100;

$value 是一个字符串变量,其内容为文本 '100'。此变量不是可用于数学运算的数字。

$value2 是一个整数变量,其内容为数字 100。此变量是一个数字,因此可用于数学运算。

常量

常量是其值无法以任何方式改变的变量。有两种方法可以创建它们。

1
2
3
const MAX_USERS = 50;

define('MAX_USERS', 50);

常量不以 $ 符号开头,并且按照惯例,常量以大写字母定义。创建后,如果你尝试为其分配另一个值,PHP 将给出错误。

类型转换

PHP 在运行时自动确定变量的类型。

输出

PHP 中,有多种方式显示变量的内容,下面是其中一些:

  • echo $name;(显示值)
  • var_dump($isAdmin);(显示变量的类型以及值)
  • print_r($items);(清晰地显示值)

确定变量的类型

可以使用 gettype() 函数获取变量的类型

1
2
3
4
echo gettype($name); // string
echo gettype(20); // integer
echo gettype(9.95); // double
echo gettype(true); // boolean

我们还可以使用函数 is_init()is_float()is_string()is_bool() 检查变量是否属于某种类型

1
2
3
4
echo is_int($name); // false
echo is_float(12.5); // true
echo is_string($name); // true
echo is_bool(10); // false

强制类型(强制转换)

可以强制 PHP 使用特定类型,并在必要时强制转换。为此,你必须在变量或函数前的括号中添加类型。

1
2
$age = (int)readline('Your age:');
echo 'Your age is'. (string)$age;

此处的转换 (int) 将强制将整数作为 readline() 函数的返回值。转换 (string)$age 将在显示之前将整数转换为字符串。

注释

要在代码中留下注释。即不会执行的一行,你可以使用以下两种技巧之一:

1
2
3
4
5
6
// This is a single line comment

/*
This is a comment
on several lines
*/

命名约定

以下是我们将用来创建代码的一些约定:

1
2
3
4
$firstName = 'William';  // variables name will be camelCase
function updateProduct() // functions name will be camelCase
class ProductItem // class name will be StudlyCaps
const ACCESS_KEY = '123abc'; // all upper case with underscore separators

有关命名约定的更多详细信息,你可以查看 PRS 网站:https://www.php-fig.org/psr/


相关文章: