一、PHP 简介
PHP(全称:PHP: Hypertext Preprocessor) 是一种广泛用于 Web 开发的服务器端脚本语言。它最初由 Rasmus Lerdorf 在 1994 年创建,并迅速发展为功能丰富、开源、跨平台的 Web 后端开发语言。
PHP 的核心用途是:动态生成网页内容、处理表单、操作数据库、控制会话和实现用户认证等功能。
📌 PHP 的优势是语法简单、学习门槛低、部署方便、生态成熟(尤其适合中小型项目)。
二、PHP 的运行机制
-
用户通过浏览器访问网站(例如
index.php
)。 -
Web 服务器(如 Apache、Nginx)接收到请求,调用 PHP 解释器。
-
PHP 解释器执行
.php
文件中的代码。 -
PHP 生成 HTML 或 JSON,返回给浏览器。
-
浏览器渲染页面或处理数据。
🔧 PHP 是后端语言,浏览器无法直接查看其源码,只能接收到处理结果。
三、PHP 基础语法结构
PHP 文件通常嵌在 HTML 中,使用 <?php ?>
标签包裹代码。
示例:
php
<!DOCTYPE html>
<html>
<body>
<h1><?php echo "欢迎来到我的网站!"; ?></h1>
</body>
</html>
-
echo
:输出内容到网页 -
变量以
$
开头,如$name = "Tom";
-
支持常见数据类型:字符串、整型、数组、布尔、对象等
四、与 HTML 表单交互(GET / POST 请求)
HTML 表单:
html
<form action="welcome.php" method="post"> 姓名: <input type="text" name="name"> <input type="submit"> </form>
PHP 文件 welcome.php
:
php
<?php
$name = $_POST["name"];
echo "你好," . $name . "!";
?>
✅ 使用 $_GET
或 $_POST
访问表单数据。
五、PHP 操作数据库(以 MySQL 为例)
php
<?php
// 1. 连接数据库
$conn = new mysqli("localhost", "root", "password", "mydb");
// 2. 检查连接
if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); }
// 3. 执行查询
$sql = "SELECT id, name FROM users"; $result = $conn->query($sql);
// 4. 处理结果
if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "ID: " . $row["id"] . " 姓名: " . $row["name"] . "<br>"; } } else { echo "没有结果"; }
// 5. 关闭连接
$conn->close();
?>
✅ PHP 原生支持与 MySQL、PostgreSQL、SQLite 等数据库连接,常通过 mysqli
或 PDO
扩展操作数据库。
六、常用功能模块
功能 | 示例方法 |
---|---|
处理表单 | $_POST , $_GET , $_REQUEST |
文件上传 | $_FILES ,move_uploaded_file() |
会话管理 | session_start() , $_SESSION |
Cookie 操作 | setcookie() , $_COOKIE |
JSON 接口 | json_encode() , json_decode() |
错误处理 | try...catch , error_log() |
邮件发送 | mail() 函数 |
七、PHP 框架简介
现代 PHP 开发常使用框架提高开发效率与可维护性。
🚀 Laravel
-
最流行的 PHP 框架,优雅、现代、组件化
-
自带 ORM(Eloquent)、路由、中间件、认证、任务队列等
⚙ ThinkPHP(中国流行)
-
国内广泛使用,文档中文,学习成本低
-
常用于企业网站、后台管理系统
📦 CodeIgniter
-
轻量小巧,适合小型项目或学习入门
八、安全性注意事项
风险 | 说明 | 应对方式 |
---|---|---|
SQL 注入 | 用户输入构造恶意 SQL | 使用预处理语句 prepare() |
XSS 攻击 | 用户输入插入 JS 脚本 | 使用 htmlspecialchars() |
CSRF 攻击 | 利用用户登录状态发起请求 | 使用 token 验证请求来源 |
文件上传漏洞 | 上传恶意文件 | 检查 MIME 类型、扩展名、重命名 |
九、一个完整案例:留言板
HTML 表单页面:
html
<form action="submit.php" method="post">
姓名:<input type="text" name="name"><br>
留言:<textarea name="message"></textarea><br>
<input type="submit" value="提交">
</form>
PHP 后端 submit.php:
php
<?php
$name = htmlspecialchars($_POST["name"]);
$msg = htmlspecialchars($_POST["message"]);
$conn = new mysqli("localhost", "root", "", "guestbook");
$stmt = $conn->prepare("INSERT INTO messages (name, message) VALUES (?, ?)"); $stmt->bind_param("ss", $name, $msg);
$stmt->execute();
$stmt->close();
$conn->close();
echo "留言成功!";
?>
📌 特点:
-
使用
htmlspecialchars()
防 XSS -
使用
prepare()
防 SQL 注入
十、PHP 与现代 Web 技术协作
PHP 虽然是传统 Web 后端语言,但也可以与现代技术如:
-
Vue、React 等前端框架结合,通过 Ajax、Fetch 请求 PHP 接口
-
使用 PHP 构建 RESTful API,供前端调用
-
利用 Composer 管理依赖,模块化开发
十一、总结
优点 | 缺点 |
---|---|
易学、部署简单 | 开发大型系统时需更多规范 |
支持 Web 开发全部流程 | 相较 Node.js 等稍显传统 |
社区庞大、资源丰富 | 语法灵活容易写出不规范代码 |
✅ 适合个人网站、企业站点、CMS(如 WordPress)、后台管理等场景。