现代 PHP 速成课程
PHP基础概念
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
欢迎来到这门现代 PHP 速成课程。为什么说是现代 PHP 呢?PHP 自 1994 年问世以来,已经发展了相当长的时间。如今,PHP 8.1 版本已经发展成为一门功能齐全的语言,完美适用于现代 Web 开发。
在本速成课程中,我们将涵盖2022年关于PHP需要了解的所有重要方面。
课程结束后,您将能够创建您的第一个 PHP 应用程序,并且您将拥有足够的 PHP 知识,以便继续使用 Laravel 和/或 Symfony 等 PHP 框架进行培训。
这门速成课程是免费的,会发布在 dev.to 上。我大概每两天会发布一篇新文章/帖子。为了不错过任何内容,你可以在 Twitter 上关注我:关注 @EricTheCoder_
什么是 PHP?为什么要使用 PHP?
PHP是一种面向对象的服务器端编程语言,用于开发Web应用程序。
PHP是当今网络上使用最广泛的服务器端编程语言。近80%的网站都使用了PHP代码。这规模相当庞大!PHP在短期内不会消失。
近年来,PHP发展迅速。面向对象以及其他一些现代概念的引入,极大地改变了PHP Web应用程序的编码方式。
现在数百万个网站都在使用 PHP,包括 Facebook、WordPress、维基百科、Tumblr、Slack 等等。
PHP社区非常庞大、充满活力且包容性强。
PHP 还可以依赖像 Symfony 和 Laravel(以及其他一些框架)这样的高质量框架。这些框架可以帮助您快速可靠地开发 Web 应用程序。
简而言之,使用 PHP,您可以执行小型、大型乃至超大型项目。PHP 可以处理每天几次点击,也可以处理每天数百万次点击。
PHP 安装
安装 PHP 有时可能会比较棘手,但不要因此而放弃。
如果您想立即开始培训,稍后再进行安装,可以使用网站https://replit.com/languages/php7从浏览器执行 PHP 代码。
在您的计算机上安装 PHP
您需要 PHP 版本 8.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基础概念
在本教程中,我们将创建一个文件夹来存放接下来示例所需的所有文件。
$ mkdir demo-php
$ cd demo-php
我们将从该文件夹中创建一个名为 index.php 的文件。
$ code index.php
此命令将打开 vscode 并创建 index.php 文件。
请注意,本速成课程将使用 Visual Studio Code,但这并非必要条件。您可以自由使用您喜欢的编辑器。
文件类型的第一行
<?php
此标签会告诉 PHP 服务器,其后的所有行都是服务器应该执行的 PHP 代码。
现在我们可以开始编写 PHP 代码了,而要开始的话,没有什么比经典的 Hello World 更合适的了!
<?php
echo 'Hello World';
echo 函数允许在浏览器当前页面中显示文本甚至 html 代码。
要测试这段代码,你可以运行 PHP 自带的 PHP Web 服务器。
$ php -S localhost:5000
-S 选项会在 localhost:5000 启动 Web 服务器。
如果您打开浏览器并访问地址http://localhost:5000,PHP 服务器将渲染默认文件 index.php,您将看到:
Hello World
HTML 和 PHP
请注意,在 PHP 文件中,HTML 代码可以与 PHP 代码混合存在。
<h1>
<?php echo 'Hello World'; ?>
</h1>
这段代码完全有效。“?>”标签表示PHP代码的结束。
也可以包含多个 PHP 代码段。
<h1>
<?php echo 'Hello World'; ?>
</h1>
<h2>
<?php echo 'Sub title'; ?>
</h2>
虽然 PHP 可以与 HTML 混合使用,但将 PHP 代码和 HTML 代码分别放在各自的文件中是一种良好的编程实践。我们稍后会详细讨论这个概念。
变量
变量用于存储代码中需要处理的不同值。
变量一旦存储在程序存储器中,就可以在以后使用。
例如,假设你想存储用户名,你可以使用一个变量,并将其命名为:$name,然后将其内容设置为'Mike Taylor'。
$name = 'Mike Taylor';
请注意,在 PHP 中:
- 变量名以美元符号 $ 开头。
- 字符串用引号括起来。
- 我们无需指定变量类型(例如:字符串)。PHP 是一种解释型语言,它会根据存储的值自动识别数据类型。
- 另一方面,也可以在声明变量时指定其类型。我们稍后会看到这个概念。
以下是四种基本的 PHP 变量类型及其创建语法。
// string
$fullName = 'Mike Taylor';
// integer
$count = 20;
// float (decimal number)
$bookPrice = 15.80;
// booleans
$isActive = true;
$isAdminUser = false;
PHP 还有更高级的变量类型,例如数组和类。我们稍后会详细介绍所有这些内容。
最后,PHP 还有一些特殊类型,例如“null”,表示没有值。
至此,你应该能够理解这两个变量的内容并不相同。
$value = '100';
$value2 = 100;
$value 是一个字符串变量,其内容为文本“100”。该变量不是可用于数学运算的数字。
$value2 是一个整型变量,其值为 100。该变量是一个数字,因此可以用于数学运算。
持续的
常量是指其值不能以任何方式改变的变量。创建常量有两种方法。
const MAX_USERS = 50;
define('MAX_USERS', 50);
常量不以美元符号 $ 开头,并且按照惯例,常量用大写字母定义。创建常量后,如果尝试为其赋值,PHP 会报错。
类型化
PHP会在运行时自动确定变量的类型。
输出
在 PHP 中,有多种方法可以显示变量的内容,以下列举几种:
- echo $name;(显示该值)
- var_dump($isAdmin);(显示变量的类型和值)
- print_r($items);(清晰地显示值)
确定变量的类型
可以使用 gettype() 函数获取变量的类型。
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() 函数来检查变量是否为特定类型。
echo is_int($name); // false
echo is_float(12.5); // true
echo is_string($name); // true
echo is_bool(10); // false
力量类型(施法)
可以强制 PHP 使用特定类型,必要时还可以强制进行类型转换。为此,必须在变量或函数名前用括号添加类型名称。
$age = (int)readline('Your age:');
echo 'Your age is'. (string)$age;
这里的 `cast(int)` 会强制 `readline()` 函数返回一个整数值。`cast(string)$age` 会在显示之前将整数转换为字符串。
评论
要在代码中添加注释,也就是添加一行不会被执行的代码,可以使用以下两种方法之一:
// This is a single line comment
/*
This is a comment
on several lines
*/
命名规则
以下是我们编写代码时将使用的一些约定:
$firstName = 'Mike'; // 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/
结论
今天就到这里,我大概每两天会发布一篇新文章。为了确保不错过任何内容,你可以在推特上关注我:@EricTheCoder_
文章来源:https://dev.to/ericchapman/modern-php-crash-course-3606