php用哪个版本_php什么版本好

php用哪个版本_php什么版本好一. PHP5.2、5.3、5.4、5.5、5.6版本区别对比以及新功能详解1.php5.2以前1.1autoload的使用;当在代码中使用一个未定义的类的时候,该函数就会被调用

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一. PHP 5.2、5.3、5.4、5.5、5.6 版本区别对比以及新功能详解

PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束
PHP5.2:JSON 支持
PHP5.3:弃用的功能,匿名函数,新增魔术方法,命名空间,后期静态绑定,Heredoc 和 Nowdoc, const, 三元运算符,Phar
PHP5.4:Short Open Tag, 数组简写形式,Traits, 内置 Web 服务器,细节修改
PHP5.5:yield, list() 用于 foreach, 细节修改
PHP5.6: 常量增强,可变函数参数,命名空间增强

 

1.php5.2以前

1.1 autoload的使用;当在代码中使用一个未定义的类的时候,该函数就会被调用

现在已经不再使用了,因为一个项目中只能有一个__autoload();现在使用spl_autoload_register();

1.2 PDO和MiSQLi的使用

1.3 类型约束。

      通过类型约束可以限制参数的类型,不过这个机制不完善。

2. php5.2 

(2006-2011)

2.1 JSON的支持

  增加了json_encode(),json_decode()等函数

3.php5.3

(2009-2012)

PHP5.3 算是一个非常大的更新,新增了大量新特征,同时也做了一些不向下兼容的修改

3.1 弃用的功能

3.2 匿名函数

$func=function($arg){
   echo $arg;
}

$func('hello');

 

3.2 新增了魔术方法 __invoke(),__callStatic();

随着匿名函数的加入,PHP 引入了一个新的魔术方法 __invoke().
该魔术方法会在将一个对象作为函数调用时被调用:

class A
{
    public function __invoke($str)
    {
        print "A::__invoke(): {$str}";
    }
}

$a = new A;
$a("Hello World");
输出毫无疑问是:  A::__invoke(): Hello World
__callStatic() 则会在调用一个不存在的静态方法时被调用。

 

3.3 命名空间

<?php
// 命名空间的分隔符是反斜杠,该声明语句必须在文件第一行。
// 命名空间中可以包含任意代码,但只有 **类, 函数, 常量** 受命名空间影响。
namespace XXOO\Test;

// 该类的完整限定名是 \XXOO\Test\A , 其中第一个反斜杠表示全局命名空间。
class A{}

// 你还可以在已经文件中定义第二个命名空间,接下来的代码将都位于 \Other\Test2 .
namespace Other\Test2;

// 实例化来自其他命名空间的对象:
$a = new \XXOO\Test\A;
class B{}

// 你还可以用花括号定义第三个命名空间
namespace Other {
    // 实例化来自子命名空间的对象:
    $b = new Test2\B;

    // 导入来自其他命名空间的名称,并重命名,
    // 注意只能导入类,不能用于函数和常量。
    use \XXOO\Test\A as ClassA
}

 

3.4 后期静态绑定

#self 的语义本来就是“当前类”
class
A { static public function callFuncXXOO() { print static::funcXXOO(); } // ... }

 

 

二.php7的新特性

./bin/php -v  #查看PHP版本
./bin/php -m #查看安装的模块

 

 

1.变量类型

function test(int $a,string $b,array $c):int{


}

 

2.错误异常

try/catch

 

3.zval使用栈内存

节约了内存分配
php5
zval*val;make_std_zval(val);

php7 zval val;

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167673.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月2日 下午9:00
下一篇 2022年8月2日 下午9:00


相关推荐

  • Docker安装Jenkins打包Maven项目为Docker镜像并运行【保姆级图文教学】

    Docker安装Jenkins打包Maven项目为Docker镜像并运行【保姆级图文教学】Jenkins 作为 CI CD 的先驱者 虽然现在的风头没有 Gitlab 强了 但是还是老当益壮 很多中小公司还是使用比较广泛的 最近小编经历了一次 Jenkins 发包 感觉还不错 所以自己学习了一下 网上比较多的教程都是在 Linux 上搭建 Jenkins 小编经过一个星期的探索终于完成了在 docker 中进行搭建 最终版就是 通过 git 上传代码 使用 Jenkins 构建自动打包 把 jar 包打成 docker 镜像 运行在 docker 中 Windows 下进行访问主要记录一下一些踩过的坑和注意点 让后来人能够跟着小编一次完

    2026年3月18日
    2
  • GenAI Agents购物助手:ShopGenie智能体的产品比较算法

    GenAI Agents购物助手:ShopGenie智能体的产品比较算法

    2026年3月16日
    2
  • 其实Unix很简单

    很多编程的朋友都在网上问我这样的几个问题,Unix怎么学?Unix怎么这么难?如何才能学好?并且让我给他们一些学好Unix的经验。在绝大多数时候,我发现问这些问题的朋友都有两个特点:1)对Unix有

    2021年12月27日
    40
  • 让 OpenClaw 替你打工(三):我不止给它装了 30+ Skills 还创建了技能

    让 OpenClaw 替你打工(三):我不止给它装了 30+ Skills 还创建了技能

    2026年3月16日
    2
  • dump 分析工具_一键全扒网站工具

    dump 分析工具_一键全扒网站工具ProcDumpProcDump是一个命令行实用程序,其主要目的是监视应用程序的CPU峰值,并在峰值期间生成崩溃转储,管理员或开发人员可以使用它来确定峰值的原因。ProcDump还包括挂起窗口监视(使用与Windows和任务管理器使用的窗口挂起相同的定义)、未处理的异常监视,并且可以根据系统性能计数器的值生成转储。它还可以作为一个通用的进程转储实用程序,您可以将其嵌入到其他脚本中。官网DebugDiag调试诊断工具(DebugDiag)旨在帮助解决任何用户模式进程中的挂起、性能缓慢、内存泄漏

    2022年10月2日
    5
  • Python函数总结大全(函数定义,参数种类、返回值等)

    Python函数总结大全(函数定义,参数种类、返回值等)目录函数与函数式编程函数的定义函数与过程返回值与返回值类型前向引用内部 内嵌函数函数装饰器传递函数参数的种类位置参数参数默认值命名关键字参数关键字参数 others 便于函数功能的扩展任意的参数列表 others 解包参数列表解包参数列表函数与函数式编程函数是组织好的 可重复使用的 用来实现单一 或相关联功能的代码段 函数能提高应用的模块性 和代码的重复利用率 Python 提供了许多内建函数 比如 print 我们也可

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号