第 1 课:PHP 基础与环境搭建

一、学习目标

  1. 了解 PHP 发展历程及 PHP7/8 核心特性
  2. 完成本地开发环境搭建(Web 服务器 + PHP + 数据库)
  3. 掌握 PHP 基础语法规则(标签、注释、代码结构)
  4. 编写第一个兼容 PHP7/8 的 PHP 程序

二、核心知识点

(一)PHP 发展与版本特性概述
  1. PHP 版本演进关键节点

    • PHP5(2004-2018):引入面向对象完整支持,奠定 Web 开发基础
    • PHP7(2015):性能提升 2-3 倍,新增标量类型声明、返回类型声明等
    • PHP8(2020):引入 JIT 编译器、联合类型、match 表达式等革命性特性
    • 2025 年主流版本:PHP8.2+(本课程基于此版本开发)
  2. PHP7/8 必学核心特性

    特性类别 PHP7 新增 PHP8 新增
    类型系统 标量类型声明、返回类型声明 联合类型、交集类型、nullsafe 运算符
    语法优化 太空船运算符、匿名类 构造器属性提升、match 表达式
    性能提升 Zend Engine 3.0 JIT 编译器、属性缓存
(二)本地开发环境搭建
  1. 推荐环境组合

    • 集成环境:WAMP(Windows)/ MAMP(Mac)/ XAMPP(跨平台)
    • 独立配置:Apache 2.4 + MySQL 8.0 + PHP 8.2
    • 编辑器:VSCode(安装 PHP Intelephense、PHP Debug 插件)
  2. 环境验证步骤

    1. 安装完成后,启动 Apache 和 MySQL 服务
    2. 在网站根目录(如www文件夹)创建info.php文件
    3. 写入代码:
      <?php
      phpinfo(); // 输出PHP环境信息
      ?>
      
    4. 浏览器访问http://localhost/info.php,确认 PHP 版本为 8.2+
(三)PHP 基础语法
  1. 代码嵌入方式

    • 标准标签(推荐):<?php 代码 ?>(兼容所有版本)
    • 短标签:<? 代码 ?>(需在php.ini中开启short_open_tag = On
    • 输出短标签:<?= $变量 ?>(等价于<?php echo $变量 ?>,PHP5.4 + 默认支持)

    注意:原始文档中短标签用法在 PHP7/8 中仍可用,但生产环境建议统一用标准标签

  2. 文件引用方法

    • require():引入文件失败时直接报错并终止程序(适合核心文件)
    • include():引入文件失败时仅警告,程序继续执行(适合可选文件)
    • require_once()/include_once():避免重复引入同一文件(PHP7/8 性能优化重点)

    示例:

    <?php
    // 引入数据库配置文件(核心文件用require_once)
    require_once('config/db.php');
    // 引入页面公共头部(可选文件用include)
    include('common/header.php');
    ?>
    
  3. 注释方法(与原始文档一致,PHP7/8 无变化)

    <?php
    // 单行注释(C++风格)
    # 单行注释(Shell风格)
    /* 
    多行注释(C风格)
    适合注释大段内容
    */
    echo "注释不会被执行";
    ?>
    
(四)第一个 PHP 程序(兼容 PHP7/8)
  1. Hello World 示例

    <?php
    // 标准输出(echo支持多个参数,无需括号)
    echo "Hello PHP 8.2!", "<br>";
    
    // 变量定义(PHP7/8仍保留$开头的变量规则)
    $message = "2025 PHP实战入门";
    echo $message;
    
    // PHP7标量类型声明基础(函数参数指定int类型)
    function sayHello(int $times) {
        for ($i = 1; $i <= $times; $i++) {
            echo "第{$i}次问候:Hello!", "<br>";
        }
    }
    
    sayHello(3); // 正确:传入整数
    // sayHello("3"); // PHP7/8严格模式下报错:参数必须为int类型
    ?>
    
  2. 运行结果

    plaintext

    Hello PHP 8.2!
    2025 PHP实战入门
    第1次问候:Hello!
    第2次问候:Hello!
    第3次问候:Hello!
    

三、注意事项

  1. 版本兼容性问题

    • 避免使用已废弃函数:如mysql_*系列函数(PHP7 已废弃,改用 PDO 或 Mysqli)
    • 短标签在部分服务器默认关闭,优先用标准标签
    • PHP8 中@错误抑制符性能下降,建议用 try-catch 替代
  2. 代码规范建议

    • 每行代码结尾必须加;(原始文档强调的重点,PHP7/8 仍严格要求)
    • 变量命名采用下划线命名法(如$user_name)或驼峰命名法(如$userName
    • 代码缩进统一用 4 个空格(避免用 Tab,跨编辑器兼容)

四、实战练习

  1. 创建day1文件夹,在其中创建 3 个文件:

    • config.php:定义网站名称变量$site_name = "PHP入门教程"
    • header.php:用echo输出网站名称(通过$site_name变量)
    • index.php:引入config.phpheader.php,输出 "欢迎来到 [网站名称]"
  2. index.php中添加一个函数,接收字符串参数(用 PHP7 标量类型声明),返回 "Hello, [参数]",并调用该函数输出结果。

更多推荐