这篇文章会尽量列举PHP语言的特性以及易错点
- 安装
- 配置(bad)
- 模块化
- 常量
- 魔术常量
- 语法
- 空值
- 类机制
- 函数库/类库
- 数组
- 异常
- 自动加载类
- 加密
- ReflectionClass: 用于分析类的类
- 迭代器
- 魔术常量
- 魔术方法
- 超级全局常量
- 预定义常量
- Trait
我不喜欢PHP的地方(主观)
- 混乱的命名和API设计(count、strlen、str_replace、strtotime)
- array满天飞(其实使用者也有责任)
- 没有好的异步方式,并发编程上没有好的实践,所以很多都局限在php-fpm这个架子里面
- 包管理不成熟(composer的普及程度远远不够),命名空间和包概念很乱,设计不够简洁明了(require_once这种设计不应该存在)
居然还需要用c这种异构语言来编写高性能库(php的核心用户不会用c去写库,而且还必须要用zend-api)- 作为web编程语言,默认的网络库质量很差
- 对国际化支持不够好(有很多坑)
- 历史遗留下来的全局变量(预定义常量、魔术变量等,比如
$_GET
、$_POST
,影响代码的模块性,增加心智负担) - 魔术变量、魔术方法过于魔术(多余)
- 类型隐式转换过于灵活(比如string里面的number型式)
- declare、goto多余