PHP
话题列表
社区 Wiki
优质外文
招聘求职
PHP 实战教程
社区文档
登录
注册
PHP 社区 Wiki
展开或关闭
一. PHP 语言基础
1. PHP 基础信息
1.1. 什么是 PHP?
1.2. 作者及其背后的团队
1.3. 有哪些版本?
1.4. 发行计划
1.5. 如何选择版本?
2. PHP 环境安装
2.1. Windows 开发环境(PHPStudy)
2.2. Mac 开发环境
2.3. Linux 开发环境
2.4. 什么是开发环境
3. PHP 开发工具
3.1. Sublime Text 编辑器
3.2. 代码格式化
3.3. 生成代码文档
3.4. Visual Studio Code 编辑器
4. PHP 运行模式
4.1. 命令行 CLI
4.2. PHP-FPM
4.3. php.ini 配置信息详解
5. PHP 语法
5.1. 基础语法
5.2. 第一个 PHP 脚本程序 Hello World
5.3. 在 HTML 中嵌入 PHP 代码
5.4. 开始和结束标记
5.5. 指令分隔符(分号)
5.6. 程序注释
5.7. 引入 PHP 脚本 include
5.8. 引入 PHP 脚本 include_once
5.9. 引入 PHP 脚本 require
5.10. 引入 PHP 脚本 require_once
5.11. goto 语句
6. PHP 变量和常量
6.1. 声明变量
6.2. 弱类型语言
6.3. 变量的命名
6.4. 可变变量
6.5. 变量的引用赋值
6.6. 常量的定义和使用
6.7. 常量和变量的区别
7. PHP 打印数据
7.1. echo 语句
7.2. print 语句
7.3. var_dump 语句
7.4. print_r 语句
8. PHP 数据类型
8.1. 类型介绍
8.2. 整型(integer)
8.3. 字符串(string)
8.4. 布尔型(boolean)
8.5. 浮点型(float 或 double)
8.6. 数组(array)
8.7. 对象(object)
8.8. 资源(resource)
8.9. Null 类型
8.10. 伪类型介绍
8.11. 类型转换
8.12. 自动类型转换
8.13. 强制类型转换
8.14. 类型转换细节
9. PHP 全局变量数组
9.1. 超全局变量 $GLOBALS
9.2. 服务器变量 $_SERVER
9.3. 环境变量 $_ENV
9.4. URL 参数 $_GET
9.5. POST 变量 $_POST
9.6. 请求 $_REQUEST
9.7. 文件上传变量 $_FILES
9.8. Cookies 变量 $_COOKIE
9.9. 会话 $_SESSION
10. PHP 运算符
10.1. 算术运算符
10.2. 字符串运算符
10.3. 赋值运算符
10.4. 比较运算符
10.5. 逻辑运算符
10.6. 位运算符
10.7. 三元运算符
10.8. 数组运算符
10.9. 执行运算符
10.10. 类型运算符
10.11. 递增/递减运算符
10.12. 错误控制运算符
10.13. 运算符的优先级
10.14. 表达式的说明
11. PHP 条件语句
11.1. 单一条件(if)
11.2. 双向条件(else)
11.3. 多向条件(elseif)
11.4. 多向条件(switch)
11.5. 替代语法
12. PHP 循环与控制
12.1. while 语句
12.2. do…while 语句
12.3. for 语句
12.4. foreach 语句
12.5. break 中断语句
12.6. continue 跳过语句
12.7. exit 退出语句
12.8. return 语句
13. PHP 函数
13.1. 函数的定义
13.2. PHP 内置函数
13.3. 函数的声明
13.4. 函数的调用
13.5. 函数的参数
13.6. 常规参数
13.7. 伪类型参数
13.8. 引用传参
13.9. 默认参数
13.10. 可变个数参数
13.11. return 返回值
13.12. 多个返回值
13.13. 返回一个引用
13.14. 声明返回类型
13.15. 回调函数(匿名函数)
13.16. 使用自定义函数库
13.17. 递归函数
13.18. 函数中的函数
14. PHP 变量作用域
14.1. 局部作用域
14.2. 全局作用域
14.3. global 关键字
14.4. Static 作用域
14.5. 参数作用域
二. Composer 基础使用
15. Composer 国内加速
15.1. 检测加速镜像是否可用
15.2. 可用镜像列表
15.3. Composer 降级到版本 1
三. 快速入门
四. PHP 面向对象
16. PHP 面向对象基础
16.1. 类和对象
16.2. 编写第一个类
16.3. 类成员:属性
16.4. 类成员:方法
16.5. 访问成员 $this
16.6. 常量属性
16.7. 构造方法
16.8. 析构方法
16.9. 封装性 public
16.10. 封装性 private
16.11. 封装性 protected
16.12. 静态方法 static
16.13. __set () 和 __get () 方法
16.14. 参数类型约束
16.15. 继承父类
16.16. 重载父类方法
16.17. 关键字
16.18. 魔术方法
16.19. Final 关键词
16.20. __call() 方法的应用
16.21. 类中通用的方法 __toString ()
17. PHP 面向对象高级
17.1. 类的自动加载
17.2. 抽象类
17.3. 接口
17.4. Trait
17.5. 重载
17.6. 匿名类
17.7. 比较对象
17.8. 克隆对象(复制对象)
17.9. 对象和引用
17.10. 对象序列化
17.11. 遍历对象
17.12. 后静态绑定 static
17.13. 反射 API
18. PHP 异常和错误处理
18.1. 异常处理机制
18.2. 错误级别
18.3. 错误处理机制
五. PHP 编码技巧
19. PHP 字符串
19.1. 单引号
19.2. 双引号
19.3. Heredoc
19.4. Nowdoc
19.5. 去除首尾空字符
19.6. 转义、还原字符串
19.7. 获取字符串长度
19.8. 截取字符串
19.9. 比较字符串
19.10. 检索字符串
19.11. 替换字符串
19.12. 格式化字符串
19.13. 分割字符串
19.14. 合成字符串
20. PHP 数组
20.1. 索引数组
20.2. 关联数组
20.3. 定义简单数组
20.4. 定义多维数组
20.5. 输出数组
20.6. 统计元素个数
20.7. 遍历数组
20.8. 数组与字符串的转换
20.9. 数组排序
20.10. 数组指针
20.11. 查询指定元素
20.12. 获取最后一个元素
20.13. 添加元素
20.14. 删除重复元素
21. PHP Cookie
21.1. 设置 Cookie
21.2. 7 天免登录功能的实现
21.3. 记住我
21.4. Cookie 跨域与 P3P 协议
21.5. 安全的 Cookie
22. PHP Session
22.1. 会话的工作原理
22.2. 存储会话 ID
22.3. 开始一个会话
22.4. 注册一个会话变量
22.5. 注销变量
22.6. 销毁会话
22.7. 通过会话控制实现身份验证
22.8. Session 相关配置
22.9. Cookie 与 Session 的区别
23. PHP 表单处理
23.1. 通过 POST 方法提交表单
23.2. 通过 $_POST 获取表单元素
23.3. 通过 GET 方法提交表单
23.4. 通过 $_GET 获取表单元素
23.5. 所有表单元素
24. PHP 文件处理
24.1. 检测文件是否存在
24.2. 添加文件
24.3. 删除文件
24.4. 检测目录是否存在
24.5. 添加目录
24.6. 删除目录
24.7. 打开 / 关闭文件
24.8. 从文件中读取数据
24.9. 浏览目录
24.10. 文件下载
24.11. 遍历目录
24.12. 移动文件
24.13. 移动目录
24.14. 访问目录和文件属性
24.15. 获取文件扩展名
24.16. 获取文件权限
24.17. 跟踪文件变动信息
24.18. 读取远程文件数据
24.19. 管理指定类型文件
24.20. 分页读取文本文件
25. PHP 文件上传
25.1. 限制上传文件类型
25.2. 文件上传表单
25.3. 相关配置信息
25.4. 预定义变量 $_FILES
25.5. 文件上传函数
25.6. 多文件上传
25.7. 限制上传文件类型
25.8. 限制上传文件大小
26. PHP URL 处理
26.1. URL 中的参数获取
26.2. 解析 URL 地址中传递的编码参数
26.3. 获取 URL 域名
26.4. 获取 URL 路径
26.5. 判断域名所属国家
27. PHP 日期时间
27.1. 系统时区设置
27.2. 配置系统时间
27.3. 获得时间戳
27.4. 获取当前日期和时间
27.5. 格式化的日期和时间
27.6. 转换为 UNIX 时间戳
27.7. 计算间隔日期
27.8. 检验日期
27.9. 计算脚本执行时间
27.10. 扩展包 Carbon
28. PHP 图片处理
28.1. 认识 GD 库
28.2. 生成验证码
28.3. 保持图片到本地
28.4. 图片添加文字水印
28.5. 图片添加图片水印
28.6. 调整图片大小
28.7. 生成缩略图
29. PHP JSON 处理
29.1. JSON 编码 JSON_encode
29.2. JSON 解码 JSON_decode
29.3. JSONP
29.4. 判断客户端是否需要返回 JSON
30. PHP 正则表达式基础
30.1. 行定界符
30.2. 单词定界符
30.3. 字符类
30.4. 选择符
30.5. 范围符
30.6. 排除符
30.7. 限定符
30.8. 任意字符
30.9. 反斜杠
30.10. 小括号
30.11. 反向引用
30.12. 模式修饰符
31. PHP 正则 PCRE 函数
31.1. 数组过滤
31.2. 执行一次匹配
31.3. 执行所有匹配
31.4. 转义字符
31.5. 查找替换
31.6. 高级查找替换
31.7. 分隔字符串
32. PHP 正则表达式案例
32.1. 只允许中文
32.2. 只允许英文和数字
32.3. 验证网站用户名
32.4. 验证电话号码
32.5. 验证 Email 地址
32.6. 验证 IP 地址
32.7. 统计关键字
32.8. 检测上传文件类型
32.9. 验证 URL
32.10. 从 HTML 里提取图片
32.11. 从 HTML 里提取链接
33. PHP 加密解密
33.1. 公私钥加解密
33.2. MD5
33.3. crypt
33.4. sha1
33.5. base64
33.6. 密码的正确保持方式
34. PHP MySQL 数据库
34.1. 连接 MySQL 服务器
34.2. 选择 MySQL 数据库
34.3. 将结果集返回到数组中
34.4. 获取查询结果集中的记录数
34.5. 释放内存
34.6. 关闭连接
35. PHP PDO
35.1. 什么是 PDO
35.2. 连接数据库
35.3. 执行 SQL 语句
35.4. 获取结果集
35.5. 捕获 SQL 语句中的错误
35.6. 错误处理
35.7. 事务处理
35.8. 存储过程
36. PHP 安全
36.1. 图片验证码
36.2. 短信验证码
36.3. XSS 跨站脚本攻击
36.4. SQL 注入攻击
36.5. XSRF/CSRF 跨站请求伪造
36.6. 点击劫持
36.7. 会话劫持
36.8. 不充分的密码哈希
36.9. LFI 本地文件包含
36.10. 文件上传安全
36.11. 命令注入
36.12. XXE 外部实体
36.13. 暴露敏感数据
36.14. 登录限制
36.15. Composer 执行权限
36.16. 始终假设用户的输入是不安全的
36.17. Web 根目录和 Git 存储库
36.18. 绝不明文保存用户密码
36.19. 不信任用户传递的对象 ID(判断权限)
36.20. 避免反序列化用户内容
36.21. 安全配置检测 sektioneins/pcc
37. PHP 设计模式
37.1. 什么是设计模式?
38. PHP 扩展
38.1. 原生扩展
38.2. Composer
39. PHP 性能
39.1. opcache
PHP
首页
Laravel
Go
Python
PHP
Vue.js
Java
MySQL
Rust
LK
程序员
Elasticsearch
F2E 前端
Server
Database
DevTools
Computer Science
手机开发
AdonisJS
社区
Wiki
文档
社区文档首页
《PHP 内核与原生扩展开发》
《Composer 中文文档》
《Elasticsearch-PHP 中文文档》
《PHP PSR 标准规范》
《PHP 设计模式全集》
登录
注册
微信登录
Composer 国内加速:Composer 降级到版本 1
0 个改进
0
0
2
查看当前版本:
$ composer
--
version
执行降级操作:
$ composer self
-
update
--
1
确定当前版本:
$ composer
--
version
本文为 Wiki 文章,邀您参与纠错、纰漏和优化
改进本文
贡献者
:
0
人点赞
讨论数量:
2
排序:
时间
投票
linzening
71 声望
就这样?
3年前
评论
评论
summerbloom
35 声望
为嘛要降级?
3年前
评论
评论
讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
支持 MD
帮助
关注本文
评论
请登录
提交
忘记密码?
or
注册
第三方账号登录
微信登录
GitHub 登录
内容举报
匿名举报,为防止滥用,仅管理员可见举报者。
我要举报该
,理由是:
垃圾广告
:恶意灌水、广告、推广等内容
无意义内容
:测试、灌水、文不对题、消极内容、文章品质太差等
违规内容
:色情、暴利、血腥、敏感信息等
不友善内容
:人身攻击、挑衅辱骂、恶意行为
科学上网
:翻墙、VPN、Shadowsocks,政策风险,会被关站!
不懂提问
:提问太随意,需要再做一遍《提问的智慧》测验
随意提问
:提问没有发布在社区问答分类下
排版混乱
:没有合理使用 Markdown 编写文章,未使用代码高亮
内容结构混乱
:逻辑不清晰,内容混乱,难以阅读
标题随意
:标题党、标题不释义
尊重版权
:分享付费课程、破解软件(付费),侵犯作者劳动成果
其他理由
:请补充说明
举报
取消
就这样?
为嘛要降级?