⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

🐘 PHP 学习路线

90 个互动教程

PHP 入门 — 服务器端脚本语言

了解 PHP:嵌入 HTML 的后端语言,全球 77% 网站使用

PHP 数组操作

PHP 万能数组:索引数组 + 关联数组,map/filter/sort

PHP 文件操作

学习文件读写

PHP JSON 处理

json_encode/json_decode 序列化

PHP Composer — 依赖管理

PHP 的包管理器:安装第三方库、自动加载

PHP 字符串处理

PHP 字符串声明、拼接(.)、查找替换、格式化

PHP 循环结构

学习循环

PHP 表单处理

用 $_GET 和 $_POST 接收用户提交的数据,安全清洗

PHP 面向对象 — 类与对象

PHP 类定义、构造函数属性、访问控制

PHP PDO — 数据库安全操作

PDO + Prepared Statements:防 SQL 注入的标准方式

PHP cURL — HTTP 客户端

cURL 发送 GET/POST、设置请求头、处理响应

PHP 过滤器 — 数据验证

filter_var/filter_input 安全验证用户输入

PHP 命名空间

namespace + use 组织代码

PHP Trait 代码复用

trait 解决单继承限制

PHP 继承与抽象类

学习PHP中PHP 继承与抽象类 — PHP教程的详细用法和最佳实践

PHP 异常处理

try/catch/finally + 自定义 Exception

PHP cURL实战

学习PHP中PHP cURL实战 — PHP教程的详细用法和最佳实践

PHP Session 会话管理

session_start/$_SESSION/会话安全

PHP 文件上传

$_FILES/move_uploaded_file/文件验证

PHP 发送邮件

mail() 函数/SMTP/PHPMailer

PHP OOP 进阶

抽象类/接口/trait/魔术方法/类型声明

PHP 数据库操作总结

PDO/MySQLi对比/ORM选择/迁移

PHP 开发环境搭建

PHP开发环境搭建:XAMPP/WAMP安装、phpinfo测试、第一个PHP文件、echo输出

PHP Laravel Eloquent ORM

Laravel Eloquent:Model定义、查询作用域Scope、访问器/修改器Accessor/Mutator、关联关系(hasOne/hasMany/belongsTo/belongsToMany)、渴求式加载with()防N+1

PHP 安全 — 输入过滤与输出转义

PHP安全:filter_var/filter_input过滤输入、htmlspecialchars防XSS、PDO预处理防SQL注入、CSRF Token验证、密码哈希password_hash/verify

PHP Session 安全管理

PHP Session安全:session_regenerate_id()防固定、HttpOnly/Secure/SameSite Cookie、Session存储位置(Redis/DB替代文件)、session.gc垃圾回收

PHP OPcache 性能优化

OPcache:opcache.enable预编译缓存、opcache_invalidate清除缓存、opcache.max_accelerated_files配置、与APC对比、OPcache Status监控

PHP PSR-15 中间件模式

PHP中间件模式:PSR-15规范、RequestHandlerInterface/MiddlewareInterface、洋葱模型(请求→中间件1→中间件2→核心→响应)、Slim/Laravel中间件实现

PHP PHPUnit 测试

PHPUnit测试框架:TestCase类、assertEquals断言、@dataProvider数据提供者、MockObject模拟对象、Code Coverage代码覆盖率、CI集成

Laravel Artisan 命令行

Laravel Artisan控制台:php artisan make:生成器命令、自定义Artisan命令($signature/$description/handle)、命令参数与选项、定时任务Schedule(withoutOverlapping/onOneServer)

PHP MVC 框架原理

PHP MVC架构:Model(数据/业务逻辑)、View(模板/呈现)、Controller(请求处理/调度)、Front Controller前端控制器模式(index.php入口)、自己实现简易MVC框架

PHP WebSocket 实时通信

PHP WebSocket:Ratchet库(ReactPHP事件循环)、WebSocket协议(握手Upgrade/帧格式)、实时聊天/通知推送、与Server-Sent Events(SSE)对比

PHP 变量与数据类型

PHP变量($前缀)、数据类型(string/int/float/bool/array/object/NULL)、类型转换、var_dump调试、isset/empty/unset

PHP 依赖注入容器

PHP DI容器:PSR-11 ContainerInterface规范、依赖注入(构造器注入/方法注入/属性注入)、自动装配Autowiring、服务提供者Service Provider、PHP-DI/Laravel Container实现

PHP Guzzle HTTP客户端

Guzzle HTTP客户端:异步请求(Pool批量并发)、Middleware中间件(重试/日志/认证)、PSR-7 Request/Response接口、PSR-18 HTTP Client接口、与cURL原生对比

PHP PDO 进阶

PHP PDO进阶:PDO::ATTR_ERRMODE异常模式、prepare预处理防SQL注入原理、bindParam vs bindValue、PDO::lastInsertId获取自增ID、事务嵌套(不支持/需手动savepoint)、PDOStatement::fetch多种获取模式

PHP Redis 集成

PHP Redis使用:phpredis扩展/ Predis纯PHP客户端、缓存读写/过期时间、session.save_handler=redis、Redis Pipeline批量操作减少RTT、Pub/Sub发布订阅

PHP Trait 特性深入

PHP Trait深入:trait代码复用机制(横向复用/解决单继承限制)、trait冲突解决(insteadof/as别名)、trait组合trait、trait中的抽象方法、trait静态属性/方法、trait vs interface vs abstract

PHP 魔术方法大全

PHP魔术方法:__get/__set/__isset/__unset(属性重载)、__call/__callStatic(方法重载)、__toString/__invoke/__sleep/__wakeup/__serialize/__unserialize、__debugInfo控制var_dump输出

PHP XML 与 JSON 数据处理

PHP XML/JSON:SimpleXML解析(simplexml_load_string->xpath查询)、json_encode(JSON_UNESCAPED_UNICODE/JSON_PRETTY_PRINT)/json_decode、SOAP WebService调用SoapClient

PHP DateTime 日期时间

PHP DateTime操作:DateTime/DateTimeImmutable(不可变/推荐)、DateTimeZone时区、DateInterval时间间隔(add/sub)、DatePeriod日期周期迭代、format格式化字符大全、Carbon库增强

PHP 后期静态绑定

PHP后期静态绑定Late Static Binding:static::关键字(运行时解析调用类/区别于self::编译时绑定)、forward_static_call转发静态调用、继承中static::的多态性、与self::对比演示

PHP Generator 深入

PHP Generator深入(生成器/协程基础):yield关键字、yield from委托生成器、Generator::send()向生成器注入值、Generator::throw()注入异常、生成器实现协程式异步(非阻塞IO基础)

PHP OpenSSL 加密

PHP OpenSSL扩展:openssl_encrypt/decrypt对称加密(AES-256-CBC/AES-256-GCM)、openssl_public_encrypt/private_decrypt非对称加密、openssl_sign/verify数字签名、openssl_random_pseudo_bytes安全随机数

PHP SPL 标准库

SPL(Standard PHP Library)数据结构:SplQueue队列/SplStack堆栈/SplFixedArray固定数组(比普通数组省内存)、SplObjectStorage对象存储(存储对象为键/弱引用)、SplPriorityQueue优先级队列、DirectoryIterator/RecursiveDirectoryIterator目录遍历

PHP final 关键字

PHP final关键字:final类(禁止继承/安全/不可变类型)、final方法(禁止子类重写/防止修改关键行为)、与private构造器配合(静态工厂模式/工具类不可实例化)、final vs abstract对比

PHP CSRF 防御实现

PHP CSRF防御:生成csrf token(bin2hex(random_bytes(32)))、存储到Session+嵌入表单隐藏域、验证提交token_hash_equals时序安全比较、一次性token每请求刷新、AJAX请求token(Custom Header X-CSRF-Token)、Laravel内置@csrf

PHP 构造器与析构器深入

PHP构造析构深入:PHP 8构造器属性提升__construct(private $name)同时声明+赋值、构造器参数默认值/nullable、Final构造器、__destruct析构函数(请求结束/对象unset时调用/顺序不确定不用于关键清理)、PHP 8.1 new in initializers新特性

PHP 接口与抽象类

PHP接口vs抽象类:interface定义契约(public方法签名/常量)、implements实现多个接口(多接口继承)、abstract class抽象类(部分实现/共享代码/不可实例化)、Interface vs Abstract 选择标准(is-a关系→abstract/can-do能力→interface)

PHP Reflection 反射

PHP反射API:ReflectionClass获取类信息(方法/属性/常量/注释/接口/trait父类)、ReflectionMethod获取方法信息/调用invoke、ReflectionFunction函数反射、反射在框架中的应用(依赖注入自动解析/路由注解读取/ ORM实体映射/文档生成)、性能开销(生产缓存)

PHP 密码哈希最佳实践

PHP密码处理最佳实践:password_hash(password,PASSWORD_BCRYPT/PASSWORD_ARGON2I/PASSWORD_ARGON2ID/PASSWORD_DEFAULT)哈希、password_verify验证、password_needs_rehash检测是否需要重新哈希(算法变更/参数升级)、password_get_info获取哈希信息、不要用md5/sh

PHP Trait 冲突深入

PHP Trait冲突解决深入:同名方法冲突→insteadof排除/ as重命名+修改可见性(private/protected/public)、trait中使用抽象方法abstract function、trait组合trait(trait A {use B,C;})、静态方法在trait中、属性冲突

PHP Fileinfo 文件类型检测

PHP Fileinfo扩展(finfo_open/finfo_file/finfo_buffer检测文件MIME类型/不依赖扩展名/读取文件魔数magic bytes):FILEINFO_MIME_TYPE/FILEINFO_MIME、php.ini中的magic_database、检测上传文件真实类型防伪造扩展名攻击

PHP 自定义序列化

PHP Serializable接口和__serialize/__unserialize(PHP 7.4+/替代Serializable):__serialize返回数组→__unserialize接收数组恢复对象、与__sleep/__wakeup的区别(__sleep返回属性名数组→ser/ unser自动处理/__serialize更灵活),序列化安全(不要unserialize用户输入/可

PHP-FPM 深入

PHP-FPM(FastCGI Process Manager深入):www.conf配置(pm=dynamic/static/ondemand、pm.max_children/pm.start_servers/pm.min_spare_servers/pm.max_spare_servers/pm.max_requests)、慢日志slowlog、状态页pm.status_path、与Nginx

PHP CS Fixer 代码风格

PHP-CS-Fixer代码风格自动修复:.php-cs-fixer.dist.php配置、Rules规则(@PSR12/@Symfony/@PhpCsFixer)、dry-run模式预览修复、与phpcs/phpcbf/Laravel Pint对比

PHP 垃圾回收 GC

PHP垃圾回收机制:引用计数Reference Counting(每个zval有refcount/is_ref)、循环引用Cycle导致内存泄漏→PHP 5.3+引入GC(gc_collect_cycles/gc_enable/gc_disable/gc_status)、Xdebug检测循环引用/weakref/WeakMap弱引用(PHP 8.0+)辅助GC

PHP Xdebug 调试深入

Xdebug PHP调试器深入:xdebug.mode多种模式组合、断点调试VS Code+PHP Debug插件/xdebug.start_with_request=yes、性能分析cachegrind文件/QCacheGrind/KCacheGrind/Webgrind查看

PHP Session 与 Cookie

PHP会话管理:session_start()/$_SESSION、setcookie()设置Cookie、session与cookie的区别、登录状态保持、购物车实现思路

PHP 文件操作

PHP文件读写:fopen/fread/fwrite/fclose、file_get_contents/file_put_contents、file_exists/is_file、目录操作(mkdir/rmdir/scandir)

PHP 数据库操作 MySQLi/PDO

PHP连接MySQL:mysqli和PDO两种方式、prepare预处理防SQL注入、SELECT/INSERT/UPDATE/DELETE操作、fetch/fetchAll获取结果

PHP JSON 与 API 开发

PHP与JSON:json_encode/json_decode、header设置响应类型、构建RESTful API、接收JSON请求体、跨域CORS处理

PHP 图片处理 GD库

PHP GD库处理图片:创建画布、绘制图形/文字、图片水印、缩略图生成、验证码图片制作

PHP 发送邮件 mail()与PHPMailer

PHP发送邮件:mail()函数基础使用、PHPMailer库(SMTP发送、附件、HTML邮件)、常见邮件发送问题排查

PHP 8 匹配表达式

学习 PHP 8 中强大的 match 表达式,替代传统 switch 实现更简洁的条件匹配。

PHP 命名空间与自动加载

PHP命名空间:namespace声明、use导入、别名、PSR-4自动加载规范、Composer autoload配置、命名空间与文件目录对应

PHP 枚举类型

深入理解 PHP 8.1 的枚举特性,定义一组命名常量,提升代码可读性和安全性。

PHP Laravel 框架入门

Laravel简介(最流行的PHP框架)、安装、Artisan命令行、路由routes/web.php、Blade模板引擎、Eloquent ORM模型、Migrations数据库迁移

PHP 命名参数

掌握 PHP 8 命名参数特性,跳过可选参数,提高函数调用可读性。

PHP 纤维 Fiber

探索 PHP 8.1 的 Fiber 实现,理解协程并发执行机制。

PHP 属性 Attribute

学习 PHP 8 属性,为类、方法、属性添加元数据,实现声明式编程。

PHP 弱引用

理解 PHP 弱引用如何允许引用对象但不阻止垃圾回收,优化内存管理。

PHP 预加载

了解 PHP 8 预加载机制,在服务器启动时将代码加载到内存,提升性能。

PHP JIT 编译

探索 PHP 8 的 JIT(即时编译)如何加速 CPU 密集型任务。

PHP Swoole 扩展

学习 Swoole 实现异步、协程和高性能网络通信,构建实时应用。

PHP 单元测试

掌握 PHPUnit 单元测试框架,编写测试用例确保代码质量。

PHP 枚举

学习PHP 8.1引入的原生枚举类型,包括纯枚举、回退枚举和枚举方法。

PHP 枚举(Enum)

掌握PHP 8.1枚举类型,创建强类型常量集合。

PHP 8 匹配表达式

学习 PHP 8 中更安全、更简洁的 match 表达式,替代传统的 switch 语句。

PHP 纤维(Fiber)

探索PHP 8.1 Fiber实现轻量级协作式多任务。

深入SPL:用IteratorAggregate构建可遍历对象图谱

超越foreach基础,学习如何通过实现IteratorAggregate接口让自定义类像数组一样遍历,并结合Generator玩转惰性迭代器。

Generator委托:使用yield from串联异步数据流

掌握yield from语法,将多个Generator或Traversable对象拼接成一个连续的数据管道,适用于分页API请求或日志流处理。

FFI实战:在PHP中直接调用C标准库函数

利用PHP 7.4+的Foreign Function Interface,绕过扩展直接加载并调用C语言动态库,提升加密、数学运算等场景性能。

弱引用与WeakMap:构建无内存泄漏的缓存系统

利用PHP 8.0的WeakReference和WeakMap,管理对象引用关系,避免传统静态缓存导致的内存泄漏,尤其适用于ORM和事件系统。

属性驱动的AST路由:用PHP 8 Attribute定义运行时元数据

深入PHP 8属性语法,结合反射和抽象语法树解析,构建一个自动发现路由的微框架,替代传统注释或配置文件。

枚举类型高级用法:联合方法与状态机实现

利用PHP 8.1枚举支持方法和接口,设计有限状态机模型,替代冗长的if-else判断,提升代码可读性与扩展性。

Fiber协程实战:并发HTTP请求的零依赖方案

使用PHP 8.1 Fiber实现用户态协程,在不安装Swoole等扩展的情况下,发起并发CURL请求并收集结果。

match表达式深度模式匹配:替代switch的数据分类艺术

掌握PHP 8 match表达式的严格比较与多条件匹配,用于处理复杂的数据类型分类和验证,包括联合类型和模式守卫。

只读类与不可变数据传输对象:构建线程安全的值对象

深入PHP 8.2只读类的特性,设计完全不可变的数据传输对象(DTO),确保对象创建后状态永不改变,适用于事件溯源和缓存。

Pest架构测试:用代码约束项目依赖与命名规范

利用Pest测试框架的arch()方法,编写自动化测试确保代码架构符合预定规则,例如禁止特定命名空间之间的耦合。

🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 90 篇
0 完成
🔥 0