1. 运行机制:服务器端执行

这是PHP最根本的特性。

  • 过程: 用户访问 example.php -> Web服务器(如Nginx、Apache)把文件交给PHP解释器 -> PHP执行代码,可能与数据库交互 -> PHP生成纯HTML -> 服务器把HTML送回浏览器。

  • 结果: 用户看到的永远是执行结果(HTML),看不到PHP源代码。这保证了代码的安全性。

2. 基础语法结构

PHP代码被包裹在特定的标签中,可以无缝嵌入到HTML里。

php

    我的网页    
    
    
    欢迎  访问

3. 变量与数据类型

  • 弱类型语言: 不需要声明变量类型,类型由赋值决定。

  • 变量标志: 所有变量前面都必须加 $ 符号(例如 $count, $userName)。

  • 8种基本数据类型:

    • 4种标量:布尔型(bool),整型(int),浮点型(float),字符串(string)

    • 2种复合:数组(array),对象(object)

    • 2种特殊:资源(resource,如数据库连接),NULL

4. 超全局变量

这是PHP预定义的内置变量,在任何地方(函数内、类内)都可以直接使用。它们是Web开发的得力助手:

  • $_GET 收集URL参数(如 page.php?id=5 中的 id=5)。

  • $_POST 收集表单提交的数据(常用于登录、注册)。

  • $_SERVER 获取服务器和执行环境信息(如用户浏览器、当前脚本路径)。

  • $_SESSION 会话控制。用来识别同一用户在不同页面间的状态(比如“登录状态”)。

  • $_COOKIE 获取存储在用户电脑上的小数据。

5. 面向对象编程 (OOP)

虽然PHP支持面向过程,但现代PHP开发主要基于面向对象。

  • 类与对象: class 是蓝图,new 出来的实例是具体的产品。

  • 三大特性: 封装、继承、多态。

  • 命名空间: 解决命名冲突。比如你有两个不同的类都叫 User,可以用命名空间区分它们:Model\User 和 Controller\User

6. 错误处理

PHP提供了多种处理错误的方式:

  • try-catch 捕获异常(面向对象方式的错误)。

    php

    try {
        // 尝试做某件事
        if ($somethingWrong) {
            throw new Exception("出错了!");
        }} catch (Exception $e) {
        echo "捕获错误:" . $e->getMessage();}
  • 错误级别: 从 Notice(提示,不影响运行)到 Fatal Error(致命错误,脚本停止)。

7. 与数据库的交互

PHP最常见的用途就是连接数据库(尤其是MySQL)。

  • 传统方式: mysqli_connect 函数。

  • 现代方式: PDO(PHP数据对象)

    • PDO提供了一个统一的接口,可以连接多种数据库(MySQL, PostgreSQL, SQLite等)。

    • 它支持预处理语句,这能有效防止最常见的SQL注入攻击。

8. 生命周期

了解一次PHP请求的完整流程:

  1. 启动: Web服务器收到请求,启动PHP进程。

  2. 初始化: 加载配置文件(php.ini),加载扩展。

  3. 请求处理: 执行你的脚本,连接数据库,处理逻辑。

  4. 结束: 输出内容,关闭连接,释放内存。

  5. 等待: 等待下一个请求。(在传统的PHP-FPM模式下,进程会保留在内存中等待,但变量和资源会在每次请求结束时销毁,这也就是为什么每次刷新页面,变量都会重新初始化)。

总结

PHP的核心在于它专为Web而生。它嵌入HTML、通过超全局变量轻松获取请求数据、拥有成熟的数据库交互方式,并且经过多年发展形成了庞大的生态系统(如Laravel、Symfony等框架和Composer包管理器),这让它依然是构建动态网站和API的主流选择。