PHP 怎么初学者指南

wen PHP项目 2

PHP 初学者指南 🐘

什么是PHP?

PHP(Hypertext Preprocessor,超文本预处理器)是一种服务端脚本语言,主要用于Web开发,它是构建动态网站最流行的语言之一,像WordPress、Facebook等都用PHP构建。

PHP 怎么初学者指南

优点:

  • ✅ 学习曲线平缓,入门容易
  • ✅ 文档丰富,社区庞大
  • ✅ 与HTML无缝集成
  • ✅ 几乎支持所有主流数据库(MySQL、PostgreSQL等)

环境搭建(第一步)

推荐本地开发环境

工具 说明
XAMPP 跨平台,包含PHP+MySQL+Apache,最简单
WampServer Windows专用
MAMP Mac专用
Docker 进阶推荐,环境隔离
# 以XAMPP为例(Windows/Mac/Linux通用)
1. 下载并安装XAMPP
2. 启动Apache和MySQL服务
3. 将PHP文件放在 htdocs 目录
4. 浏览器访问 http://localhost/文件名.php

基本语法(必须掌握)

第一个PHP程序

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

变量与数据类型

<?php
// 变量以$开头
$name = "张明";        // 字符串
$age = 25;             // 整数
$height = 1.75;        // 浮点数
$isStudent = true;     // 布尔值
$hobbies = ["篮球", "编程"];  // 数组
// 字符串拼接(用 . 号)
echo "我叫" . $name . ",今年" . $age . "岁";
?>

常用数组操作

<?php
// 关联数组(键值对)
$user = [
    "username" => "zhangming",
    "email" => "zhang@example.com"
];
// 修改数组
$user["address"] = "北京";  // 新增
unset($user["username"]);   // 删除
// 遍历数组
foreach ($user as $key => $value) {
    echo "$key: $value<br>";
}
?>

条件语句与循环

<?php
// if-else
$score = 85;
if ($score >= 90) {
    echo "优秀";
} elseif ($score >= 60) {
    echo "及格";
} else {
    echo "需要加油";
}
// switch
$day = "Monday";
switch ($day) {
    case "Monday":
        echo "星期一";
        break;
    case "Friday":
        echo "星期五";
        break;
    default:
        echo "其他";
}
// for循环
for ($i = 1; $i <= 5; $i++) {
    echo "第{$i}次<br>";
}
// foreach循环(适合数组)
$colors = ["red", "green", "blue"];
foreach ($colors as $color) {
    echo $color . "<br>";
}
?>

函数的使用

<?php
// 定义函数
function greet($name, $message = "你好") {
    return $message . ", " . $name . "!";
}
// 调用
echo greet("小明");            // 输出:你好, 小明!
echo greet("小红", "欢迎");    // 输出:欢迎, 小红!
// 内置常用函数
echo strlen("PHP");           // 字符串长度:3
echo strtoupper("hello");     // 转大写:HELLO
echo date("Y-m-d H:i:s");    // 当前日期时间
?>

表单处理(实战重点)

HTML表单

<form action="process.php" method="POST">
    <input type="text" name="username" placeholder="用户名">
    <input type="password" name="password" placeholder="密码">
    <button type="submit">提交</button>
</form>

PHP处理表单

<?php
// process.php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $username = $_POST["username"];
    $password = $_POST["password"];
    // 简单验证
    if (empty($username) || empty($password)) {
        echo "用户名和密码不能为空";
    } else {
        echo "登录成功!欢迎 {$username}";
    }
}
?>

MySQL数据库操作(基础)

<?php
// 连接数据库
$conn = new mysqli("localhost", "root", "", "my_database");
// 检查连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
// 查询数据
$sql = "SELECT * FROM users WHERE age > 18";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        echo "用户名: " . $row["username"] . "<br>";
    }
} else {
    echo "没有结果";
}
// 插入数据(防止SQL注入要使用预处理)
$stmt = $conn->prepare("INSERT INTO users (username, email) VALUES (?, ?)");
$stmt->bind_param("ss", $username, $email);
$username = "张三";
$email = "zhang@example.com";
$stmt->execute();
$conn->close();
?>

常用安全实践 🔒

<?php
// 1. 防止XSS攻击
$user_input = "<script>alert('攻击')</script>";
echo htmlspecialchars($user_input, ENT_QUOTES, 'UTF-8');
// 2. 密码加密(永远不要明文存储密码)
$hashed_password = password_hash($password, PASSWORD_BCRYPT);
// 验证密码
if (password_verify($password, $hashed_password)) {
    // 密码匹配
}
// 3. 使用预处理防止SQL注入
$stmt = $conn->prepare("DELETE FROM users WHERE id = ?");
$stmt->bind_param("i", $userId);
$stmt->execute();
?>

推荐学习资源 📚

在线教程:

  • PHP官方文档(php.net/manual)— 最权威的参考
  • W3Schools PHP教程 — 适合初学者
  • 菜鸟教程(runoob.com)— 中文友好

视频课程:

  • Udemy的Php教程(英文)
  • 哔哩哔哩搜"PHP从入门到精通"

实践项目(逐步进阶):

  1. 个人简历网站
  2. 简单博客系统
  3. 待办事项管理(To-Do List)
  4. 用户注册登录系统

常见问题与Tips 💡

常见坑

// 1. 字符串引号陷阱
$name = "John";
echo "Hello $name";          // ✅ 正确:Hello John
echo 'Hello $name';          // ❌ 输出:Hello $name
// 2. 使用 var_dump() 调试
var_dump($variable);         // 显示类型和值
// 3. 常见警告处理
error_reporting(E_ALL);      // 开发时开启所有警告
ini_set('display_errors', 1); // 显示错误

编码习惯建议

  • ✅ 使用UTF-8编码保存文件
  • ✅ 文件保存为 .php 扩展名
  • ✅ 控制器逻辑与视图分开
  • ✅ 正则表达式学习(preg_match 等)

实战建议

快速上手指南:

  1. 第1周:学完HTML+CSS基础,搭建好环境
  2. 第2周:掌握PHP变量、数组、循环、函数
  3. 第3周:完成一个表单交互项目
  4. 第4周:学习MySQL与PHP连接
  5. 第5-8周:做一个小型博客或购物车项目

进阶方向(学完基础后):

  • 面向对象编程(OOP)
  • Laravel框架(最流行的PHP框架)
  • RESTful API开发
  • 设计模式与架构

抱歉,评论功能暂时关闭!