php各版本的姿势(2017-02-15更新)
今天被p师傅的黑魔法给震惊到啦,我一定是学了假php,仔细想想,其实对php版本更新并没有在意多少,都是活在5.3那个版本,可现在都是7.0啦!
另外的是在很多时候测试代码的时候,也很依靠版本问题。
http://php.net/manual/zh/appendices.php
php5.2以前
1、__autoload加载类文件,但只能调用一次这个函数,所以可以用spl_autoload_register加载类
php5.3
1、新增了glob://和phar://流包装
glob用来列目录,绕过open_baedir
http://php.net/manual/zh/wrappers.phar.php
phar在文件包含中可以用来绕过一些后缀的限制
http://php.net/manual/zh/wrappers.phar.php
2、新的全局变量__DIR__
3、默认开启<?= $xxoo;?>
,5.4也可用
php5.4
1、移除安全模式、魔术引号
2、register_globals 和 register_long_arrays php.ini 指令被移除。
3、php.ini新增session.upload_progress.enabled,默认为1,可用来文件包含
http://php.net/manual/zh/session.configuration.php
http://php.net/manual/zh/session.upload-progress.php
php5.5
1、废除preg_replace的/e模式(不是移除)
当使用被弃用的 e 修饰符时, 这个函数会转义一些字符(即:'、"、 \ 和 NULL) 然后进行后向引用替换。
http://php.net/manual/zh/function.preg-replace.php
php5.6
1、使用 ... 运算符定义变长参数函数
http://php.net/manual/zh/functions.arguments.php#functions.variable-arg-list
php7.0
1、十六进制字符串不再是认为是数字
2、移除asp和script php标签
<% %>
<%= %>
<script language="php"></script>
3、在后面的版本中assert变成语言结构,这将意味着很多一句话不能使用。
目前经过测试,可使用的有。
call_user_func('assert', 'phpinfo();');
php7.1
http://php.net/manual/zh/migration71.new-features.php
1、废除mb_ereg_replace()和mb_eregi_replace()的Eval选项
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 别做抢活的导演:代码中的抽象层次原则
· 从 Redis 客户端超时到 .NET 线程池挑战
· C23和C++26的#embed嵌入资源指南
· 「EF Core」框架是如何识别实体类的属性和主键的
· 独立开发,这条路可行吗?
· 他没买 iPad,而是花了半年时间,为所有“穷学生”写了个笔记神器
· Visual Studio 现已支持新的、更简洁的解决方案文件(slnx)格式
· 从 Redis 客户端超时到 .NET 线程池挑战:饥饿、窃取与阻塞的全景解析
· 2025年中总结:我想我克服公众演讲的恐惧了,一个社恐分子突破自我的故事
· 3.1k star!推荐一款开源基于AI实现的浏览器自动化插件工具 !