当前位置: 首页 > news >正文

从0到1学PHP(一):PHP 基础入门:开启后端开发之旅

目录

  • 一、PHP 简介与发展历程
    • 1.1 PHP 定义与特点
    • 1.2 在后端开发中的地位
    • 1.3 发展阶段及重要版本更新
  • 二、PHP 开发环境搭建
    • 2.1 Windows 系统下搭建步骤
    • 2.2 Mac 系统下搭建方法及常用工具
    • 2.3 适合初学者的集成开发环境
  • 三、第一个 PHP 程序
    • 3.1 编写 "Hello World" 程序
    • 3.2 程序基本结构和执行过程
    • 3.3 PHP 代码的嵌入方式(在 HTML 中)


一、PHP 简介与发展历程

1.1 PHP 定义与特点

PHP,即超文本预处理器(Hypertext Preprocessor),是一种开源的服务器端脚本语言 。它可以嵌入到 HTML 中,使开发者能够轻松创建动态网页。PHP 的语法借鉴了 C、Java 和 Perl 等语言,对于有一定编程基础的人来说,学习成本较低。其具有诸多显著特点,例如跨平台性,可在 Windows、Linux、Mac 等多种操作系统上运行;语法灵活,开发者既可以使用面向过程的编程方式,也能采用面向对象的编程思想进行项目开发;拥有丰富的内置函数和扩展库,在进行数据库操作、文件处理、图像处理等任务时更加高效便捷;而且 PHP 是开源免费的,这使得开发成本大大降低,吸引了众多开发者投身其中。

1.2 在后端开发中的地位

在后端开发领域,PHP 占据着举足轻重的地位。根据 W3Techs 的数据统计,全球超过 70% 的网站都在使用 PHP 技术 。像 Facebook、Wikipedia、WordPress 等知名平台和内容管理系统,都选择 PHP 作为其开发语言。Facebook 在早期的开发中大量使用 PHP,虽然随着业务发展引入了其他技术,但 PHP 在其架构中仍扮演着重要角色;Wikipedia 作为全球知名的在线百科全书,依靠 PHP 强大的处理能力和稳定性,支撑着海量数据的展示与查询;而 WordPress 作为使用最为广泛的开源博客平台和内容管理系统,更是让 PHP 的应用得到了极大的普及,无数个人网站和企业网站都基于 WordPress 搭建,进一步巩固了 PHP 在后端开发中的地位。

1.3 发展阶段及重要版本更新

PHP 自 1994 年诞生以来,经历了多个重要的发展阶段和版本更新。

  • 1995 年,Rasmus Lerdorf 发布了 PHP/FI 2.0,这是 PHP 的前身,主要用于个人网站的访问者信息统计和表单处理 。
  • 1997 年,Andi Gutmans 和 Zeev Suraski 对 PHP/FI 进行了重构,推出了 PHP 3.0。这一版本正式引入了 “PHP: Hypertext Preprocessor” 的全称,并形成了开放源代码项目,吸引了更多开发者参与,社区开始迅速壮大。
  • 2000 年,PHP 4.0 发布,性能得到显著提升,并且内置了对 MySQL 数据库的支持,极大地推动了动态网页的发展,让 PHP 在 Web 开发领域崭露头角。
  • 2004 年,具有里程碑意义的 PHP 5.0 发布,引入了全新的 Zend Engine II 引擎,对面向对象编程特性的支持更加完善,同时增加了对 PDO(PHP Data Objects)、SimpleXML 等技术的支持,以及对 SPL(Standard PHP Library)标准库的集成,标志着 PHP 迈向了一个全新的发展阶段,使其能够更好地应对大型项目的开发需求。
  • 2015 年,PHP 7.0 发布,带来了重大的性能飞跃,执行速度比 5.x 系列提升了近两倍,内存占用大幅减少。同时,在语法方面也有所改进,引入了空接合运算符、标量类型声明等新特性,进一步提升了代码的可读性和安全性。
  • 如今,PHP 已发展至 8.x 版本,支持更多现代化的编程特性,如类型提示更加丰富、命名参数让函数调用更加清晰、nullsafe 运算符增强了代码的健壮性 。还优化了错误处理机制,让开发者在开发过程中能够更高效地排查和解决问题,大大提升了开发体验和程序的稳定性,持续为 Web 开发领域贡献着强大的力量。

二、PHP 开发环境搭建

搭建 PHP 开发环境是开启 PHP 后端开发之旅的重要一步,下面分别介绍在 Windows 和 Mac 系统下搭建 PHP 开发环境(Apache + PHP + MySQL)的方法,以及适合初学者的集成开发环境。

2.1 Windows 系统下搭建步骤

  1. Apache 下载与安装:首先访问 Apache 官方网站(http://httpd.apache.org/ ),根据你的 Windows 系统版本(32 位或 64 位)选择合适的 Apache 版本下载。下载完成后,解压压缩包到你希望安装的目录,例如C:\Apache24。接着进行配置,打开解压目录下的conf文件夹中的httpd.conf文件,使用文本编辑器(如 Notepad++)进行编辑。找到ServerRoot配置项,将其值修改为你实际的 Apache 安装路径,即ServerRoot “C:/Apache24”;找到DocumentRoot配置项,设置网站根目录,比如DocumentRoot “C:/Apache24/htdocs”;还可以根据需要修改ServerName,例如ServerName localhost:80。配置完成后,进入 Apache 安装目录下的bin文件夹,以管理员身份运行命令提示符,输入httpd -k install安装 Apache 服务,然后输入httpd -k start启动 Apache 服务。此时在浏览器中输入http://localhost,如果看到 Apache 的默认页面,说明安装成功。常见问题:若启动 Apache 服务失败,可能是 80 端口被占用。你可以使用命令netstat -ano | findstr :80查看占用 80 端口的进程,并关闭相关进程,或者修改 Apache 的监听端口,在httpd.conf文件中找到Listen 80,将 80 改为其他未被占用的端口,如 8080。
  2. PHP 下载与安装:前往 PHP 官方网站(https://www.php.net/ )下载适合 Windows 系统的 PHP 安装包。根据你的系统版本和 Apache 的线程安全情况选择对应的版本,例如,如果 Apache 是线程安全的,就下载线程安全版的 PHP。下载后解压到指定目录,如C:\php。解压完成后,将php.ini-development文件重命名为php.ini,这是 PHP 的主配置文件。在php.ini中找到extension_dir配置项,将其值修改为 PHP 安装目录下的ext文件夹路径,即extension_dir = “C:/php/ext”,用于指定 PHP 扩展的目录。然后根据需要开启一些常用扩展,例如extension=php_mysqli.dll用于支持 MySQLi 数据库扩展,extension=php_openssl.dll用于支持 SSL 加密等,去掉这些扩展前面的分号即可开启。接下来配置 Apache 与 PHP 的关联,在httpd.conf文件中添加以下内容:
LoadModule php_module "C:/php/php7apache2_4.dll"
AddHandler application/x-httpd-php.php
PHPIniDir "C:/php"

添加完成后,保存httpd.conf文件,重启 Apache 服务。在C:\Apache24\htdocs目录下创建一个 PHP 测试文件,例如test.php,内容如下:

<?php
phpinfo();
?>

在浏览器中访问http://localhost/test.php,如果能看到 PHP 的信息页面,说明 PHP 安装和配置成功。常见问题:如果访问test.php页面出现 500 Internal Server Error 错误,可能是 PHP 配置文件php.ini有误,仔细检查配置项是否正确;也可能是 Apache 与 PHP 的关联配置有问题,重新核对httpd.conf中添加的 PHP 相关配置。

  1. MySQL 下载与安装:在 MySQL 官方网站(https://www.mysql.com/ )下载 MySQL 的 Windows 安装包。下载完成后运行安装程序,在安装过程中可以选择自定义安装路径,建议不要安装在系统盘(C 盘),如安装到D:\MySQL。安装过程中会提示设置 root 用户密码等信息,务必牢记设置的密码。安装完成后,进入 MySQL 安装目录下的bin文件夹,以管理员身份运行命令提示符,输入mysql -u root -p,输入刚才设置的密码,即可登录 MySQL。为了让 PHP 能够连接 MySQL,还需要在php.ini文件中开启 MySQL 相关扩展,确保extension=php_pdo_mysql.dll和extension=php_mysqli.dll这两行没有被注释(去掉前面的分号)。保存php.ini文件后,重启 Apache 服务。在C:\Apache24\htdocs目录下创建一个测试数据库连接的 PHP 文件,例如db_test.php,内容如下:
<?php
$conn = mysqli_connect('localhost', 'root', '你的密码');
if ($conn) {echo "连接成功";
} else {echo "连接失败: ". mysqli_connect_error();
}
?>

在浏览器中访问http://localhost/db_test.php,如果显示 “连接成功”,说明 MySQL 与 PHP 的连接配置成功。常见问题:如果登录 MySQL 失败,检查密码是否输入正确;如果连接数据库失败,除了检查密码外,还要检查 MySQL 服务是否正常运行,以及 PHP 的 MySQL 扩展是否正确开启。

2.2 Mac 系统下搭建方法及常用工具

  1. 安装 Homebrew:Homebrew 是 Mac 系统下的包管理工具,使用它可以方便地安装各种软件。打开终端,输入以下命令安装 Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装完成后,可以通过brew --version命令检查是否安装成功。

  1. 安装 PHP:使用 Homebrew 安装 PHP 非常简单,在终端中输入brew install php命令,Homebrew 会自动下载并安装最新版本的 PHP。安装完成后,可以通过php -v命令查看 PHP 的版本。
  2. 安装 Nginx(可选,也可以使用 Apache):Nginx 是一个高性能的 Web 服务器。同样使用 Homebrew 安装,在终端输入brew install nginx。安装完成后,使用brew services start nginx命令启动 Nginx 服务,默认情况下 Nginx 会在http://localhost:8080上运行,可以在浏览器中访问进行验证。如果要配置 Nginx 支持 PHP,需要编辑 Nginx 的配置文件,通常位于/usr/local/etc/nginx/nginx.conf。在http块中添加一个server配置:
server {listen       8080;server_name  localhost;root         /path/to/your/project; # 修改为你的项目路径index        index.php index.html index.htm;location / {try_files $uri $uri/ /index.php?$query_string;}location ~ \.php$ {include fastcgi_params;fastcgi_pass 127.0.0.1:9000; # PHP-FPM的地址,默认是9000fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;}
}

修改完成后,使用brew services restart nginx命令重启 Nginx 服务。

  1. 安装 MySQL:在终端输入brew install mysql安装 MySQL。安装完成后,使用brew services start mysql启动 MySQL 服务,然后可以通过mysql -u root命令登录 MySQL(首次登录可能不需要密码,可根据提示设置密码)。
  2. 安装 Composer:Composer 是 PHP 的依赖管理工具,使用以下命令安装:brew install composer。安装完成后,可以通过composer --version检查版本。
  3. 常用工具:Mac 系统下开发 PHP 常用的工具和软件有 Sublime Text、PhpStorm、Visual Studio Code 等。Sublime Text 是一款轻量级的文本编辑器,拥有丰富的插件,适合快速编写代码;PhpStorm 是专业的 PHP 集成开发环境,功能强大,提供代码自动补全、调试、代码分析等众多功能,非常适合大型项目开发;Visual Studio Code 也是一款流行的代码编辑器,通过安装 PHP 相关插件,可以成为功能完备的 PHP 开发环境,并且支持多语言开发,具有良好的扩展性。

2.3 适合初学者的集成开发环境

  1. XAMPP:XAMPP 是一个开源的跨平台 Web 服务器解决方案包,集成了 Apache、MySQL、PHP 和 Perl 等组件 ,非常适合初学者。它的特点是安装和配置过程简单,一键安装即可拥有完整的开发环境。支持多平台,包括 Windows、Linux、MacOS 等。安装步骤如下:首先前往 XAMPP 官方网站(https://www.apachefriends.org/zh_cn/download.html )下载对应系统的安装包。下载完成后运行安装程序,按照提示进行安装,安装过程中可以选择安装路径等选项。安装完成后,打开 XAMPP 控制面板,点击 Apache 和 MySQL 的 “Start” 按钮启动服务。在浏览器中访问http://localhost,如果看到 XAMPP 的欢迎页面,说明安装成功。XAMPP 还集成了 phpMyAdmin,方便管理 MySQL 数据库,通过访问http://localhost/phpmyadmin即可进入 phpMyAdmin 界面。
  2. WAMP:WAMP 也是一个集成 PHP、Apache 和 MySQL 的开发环境,专为 Windows 系统设计。它提供可视化管理界面,方便管理 Apache、MySQL、PHP 的配置,并且可以轻松切换不同版本的 PHP,适合进行版本兼容性测试。安装时,从 WAMP 官方网站(https://www.wampserver.com/en/ )下载安装包,运行安装程序,按照提示完成安装。安装完成后,在系统托盘会出现 WAMP 的图标,点击图标可以启动和停止服务,以及进行相关配置。通过浏览器访问http://localhost即可访问本地站点。

三、第一个 PHP 程序

在完成了 PHP 开发环境的搭建之后,我们就可以开始编写第一个 PHP 程序了。按照编程界的传统,我们从经典的 “Hello World” 程序入手,这个简单的程序将帮助我们初步了解 PHP 的基本语法和执行过程。

3.1 编写 “Hello World” 程序

首先,打开你喜欢的文本编辑器,比如 Notepad++、Sublime Text 或者 Visual Studio Code。然后,新建一个文件,将其保存为hello.php,文件的扩展名必须是.php,这样服务器才能识别并正确解析其中的 PHP 代码 。在hello.php文件中,输入以下代码:

<?php
echo "Hello World!";
?>

代码解释:

  • <?php 和 ?> 是 PHP 代码的开始和结束标记。在这两个标记之间的代码,都会被 PHP 解析器识别并执行。当 PHP 解析器遇到<?php标记时,它就知道接下来的内容是 PHP 代码,需要按照 PHP 的语法规则进行处理;当遇到?>标记时,PHP 解析器会停止对 PHP 代码的解析,继续处理后面的内容(如果有的话)。这两个标记是 PHP 代码嵌入到其他文件(如 HTML 文件)中的关键,通过它们,我们可以在一个文件中混合编写 PHP 代码和其他类型的代码(如 HTML、CSS 等)。
  1. echo 是 PHP 中的一个输出语句,用于向浏览器输出内容。在这里,它将双引号中的字符串 “Hello World!” 输出到浏览器页面上。echo是一个非常常用的语句,不仅可以输出字符串,还可以输出变量的值、表达式的结果等。
  2. 双引号中的 “Hello World!” 是一个字符串,它代表了我们想要输出的内容。在 PHP 中,字符串可以用双引号(" ")或单引号(’ ')括起来,但双引号会解析其中的变量和转义字符,而单引号则不会。例如,如果有一个变量$name = “Tom”;,使用双引号输出echo “My name is $name”;,会输出 “My name is Tom”;而使用单引号输出echo ‘My name is $name’;,则会输出 “My name is $name”。

3.2 程序基本结构和执行过程

“Hello World” 程序虽然简单,但它包含了 PHP 程序的基本结构。整个程序由 PHP 代码标签和一条输出语句组成。

  • PHP 代码标签:<?php 和 ?> 定义了 PHP 代码的范围,这是 PHP 程序的基本组成部分。在实际开发中,一个 PHP 文件可能包含多个这样的代码块,也可能只包含一个。有时候,在一些简单的 PHP 脚本中,?>标签可以省略,特别是当 PHP 代码是文件中的最后一段代码时,省略?>标签可以避免在代码后面意外添加空白字符(如换行符),从而导致一些不必要的问题。
  • 输出语句:echo “Hello World!”; 是程序的核心逻辑,它负责将 “Hello World!” 这个字符串输出到浏览器页面。在 PHP 中,语句以分号(;)结尾,表示一条语句的结束。分号的作用就像我们写文章时的句号,它告诉 PHP 解析器,这是一个完整的指令,需要按照语法规则进行处理。

程序的执行过程如下:

  1. 客户端请求:当用户在浏览器地址栏中输入http://localhost/hello.php(假设你的 Web 服务器根目录是localhost,并且hello.php文件放在根目录下)并按下回车键时,浏览器会向 Web 服务器发送一个 HTTP 请求,请求访问hello.php这个文件。
  2. 服务器处理:Web 服务器(如 Apache 或 Nginx)接收到请求后,会根据文件的扩展名(.php)判断这是一个 PHP 文件,然后将文件交给 PHP 解析器进行处理。PHP 解析器会读取hello.php文件的内容,从开始标记<?php处开始解析 PHP 代码。
  3. PHP 代码执行:PHP 解析器逐行执行代码,当遇到echo “Hello World!”;这条语句时,它会将双引号中的字符串 “Hello World!” 输出到一个缓冲区中。这个缓冲区就像是一个临时的存储空间,用于存放 PHP 代码执行后产生的结果。
  4. 结果返回:PHP 代码执行完毕后,Web 服务器会将缓冲区中的内容(即 “Hello World!”)作为 HTTP 响应的一部分返回给浏览器。浏览器接收到响应后,会将内容解析并显示在页面上,这样用户就看到了 “Hello World!” 这个字符串。

3.3 PHP 代码的嵌入方式(在 HTML 中)

PHP 的强大之处在于它可以与 HTML 紧密结合,让我们能够创建动态的网页。在 HTML 文件中嵌入 PHP 代码有以下几种常见方式:

  1. 直接嵌入:在 HTML 文件中,使用 PHP 代码标签<?php 和 ?> 将 PHP 代码包裹起来,就可以在 HTML 中执行 PHP 代码。例如:
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>PHP嵌入HTML示例</title>
</head>
<body><h1>欢迎来到我的网站</h1><?phpecho "当前时间是:". date("Y-m-d H:i:s");?>
</body>
</html>

在这个例子中,我们在 HTML 的<body>标签内嵌入了 PHP 代码。PHP 代码使用date()函数获取当前的日期和时间,并通过echo语句输出到页面上。这样,每次用户访问这个页面时,都会看到当前的时间,实现了网页内容的动态更新。

  1. 使用 PHP 变量:在 PHP 代码中定义变量,然后在 HTML 中使用echo语句输出变量的值,实现动态内容的展示。例如:
<?php
$name = "张三";
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>PHP变量在HTML中的使用</title>
</head>
<body><p>欢迎 <?php echo $name;?> 访问本网站</p>
</body>
</html>

这里,我们在 PHP 代码中定义了一个变量$name,并将其值设置为 “张三”。然后在 HTML 的<p>标签中,通过<?php echo $name;?>将变量的值输出到页面上。如果我们修改$name的值,页面上显示的内容也会相应改变。

  1. 条件判断和循环:利用 PHP 的条件判断语句(如if语句)和循环语句(如for、while循环),根据不同的条件在 HTML 中生成不同的内容。例如:
<?php
$count = 5;
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>PHP条件和循环在HTML中的应用</title>
</head>
<body><ul><?phpfor ($i = 1; $i <= $count; $i++) {echo "<li>这是第 $i 项</li>";}?></ul>
</body>
</html>

这段代码使用for循环在 HTML 的<ul>标签内生成了 5 个列表项。通过改变$count的值,可以动态地控制生成列表项的数量。

注意事项:

  • 文件扩展名:包含 PHP 代码的文件必须使用.php作为扩展名,这样 Web 服务器才能正确识别并将文件交给 PHP 解析器处理。如果文件扩展名不正确,PHP 代码将不会被执行,而是直接以文本形式显示在浏览器中。
  • 语法错误:在嵌入 PHP 代码时,要确保 PHP 代码的语法正确。如果 PHP 代码中存在语法错误,可能会导致整个页面无法正常显示,并且 Web 服务器会返回错误信息。因此,在开发过程中,要养成良好的编程习惯,仔细检查代码,及时发现并修复语法错误。
  • 代码结构:合理安排 PHP 代码和 HTML 代码的结构,使代码具有良好的可读性和可维护性。尽量将 PHP 的业务逻辑和 HTML 的展示逻辑分离,避免代码过于混乱。例如,可以将一些复杂的 PHP 计算和数据库操作放在单独的 PHP 文件中,通过函数或类的方式进行调用,然后在 HTML 文件中只嵌入必要的 PHP 代码来展示结果。

通过以上方式,我们可以充分利用 PHP 和 HTML 的优势,创建出功能丰富、交互性强的动态网页。从简单的 “Hello World” 程序开始,我们已经迈出了 PHP 后端开发的第一步,接下来,我们将深入学习 PHP 的各种语法和特性,探索更多有趣的应用场景。

http://www.lryc.cn/news/602884.html

相关文章:

  • 境外期货Level2高频Tick历史行情数据获取与应用指南
  • 墨者:SQL注入实战-MySQL
  • 中兴云电脑W101D2-晶晨S905L3A-2G+8G-安卓9-线刷固件包
  • **线程与进程的区别与联系**
  • Redis 部署模式详解
  • NBIOT模块 BC28通过MQTT协议连接到电信云
  • 【大模型LLM】梯度累积(Gradient Accumulation)原理详解
  • 微服务架构中 gRPC 的应用
  • Rust 最短路径、Tide、Partial、Yew、Leptos、数独实践案例
  • Hugging Face-环境配置
  • 洛谷 P10448 组合型枚举-普及-
  • HTML响应式SEO公司网站源码
  • 归雁思维:解锁自然规律与人类智慧的桥梁
  • 疯狂星期四文案网第22天运营日记
  • CFIHL: 水培生菜的多种叶绿素 a 荧光瞬态图像数据集
  • 递归算法的一些具体应用
  • TDSQL 技术详解
  • go‑cdc‑chunkers:用 CDC 实现智能分块 强力去重
  • Apache Ignite 的 JDBC Client Driver(JDBC 客户端驱动)
  • 利用frp实现内网穿透功能(服务器)Linux、(内网)Windows
  • OpenGL进阶系列22 - OpenGL SuperBible - bumpmapping 例子学习
  • 短剧系统开发上线全流程攻略:从架构设计到性能优化
  • 页面性能优化
  • Go性能优化深度指南:从原理到实战
  • C++-关于协程的一些思考
  • Linux 远程连接与文件传输:从基础到高级配置
  • 多系统集成前端困境:老旧工控设备与新型Web应用的兼容性突围方案
  • Docker笔记(基本命令、挂载本地gpu、Dockerfile文件配置、数据挂载、docker换源)
  • 3Dmax模型位置归零
  • [机缘参悟-237]:AI人工神经网络与人类的神经网络工作原理的相似性