PHP7新特性1

PHP特性知识点总结 (1)类型转换之前提到过的是字符串转为整型。其实php手册里面提到了各种类型的转换。先把他放在这里。我们按照php手册上的顺序来介绍,只介绍几个比较常用的。①转化为bool②转化为整型int。 阅读详情

一. 前言

PHP7具有很多用于编写高性能,高效能的新特性,同时也移除了一些历史版本中过时的特性,若使用过时的特性的话,在PHP7中会触发一个Error错误。目前大多数的致命错误都可以被异常捕获。所以PHP不再显示一些不标准的致命错误,取而代之的是抛出一个携带很多可用信息的异常。

二.OOP特性

1.类型声明:函数或者是对象的方法都可以使用

在PHP7之前,我们在函数和类之间传递参数时不需要声明变量类型。同样滴,在返回数据时也不必声明类型。任何数据类型都可以被传递,返回。这样会带来一个问题----PHP不清楚你传递的是什么类型的变量。

为解决这个问题,PHP7引入了类型声明,目前明确的有两类变量可以声明类型,1是形参,2是返回值。

1.1.形参类型声明

PHP7将类型声明变成了可能。PHP7支持的形参类型声明的类型有整形,浮点型,字符串,布尔型。

class person
{
    declare(strict_type=1);  //strict_types=1 及开启严格模式.默认是弱类型校验.

    public function age(int $age)
    {
        return $age;
    }

    public function name(string $name)
    {
        return $name;
    }
}

$person = new Person();
echo $person->age(30);
echo $person->name('this is my name!');

  由上面的代码得知,我们封装了一个person类,这个类有两个函数,分别是age 和name。其中age函数的形参类型声明为int类型,而name函数的形参类型声明为string类型。而strict_type=1表示类型的检查开启严格模式,因为PHP7是默认弱类型检查的,比如我们输入代码echo $person->age(30.5); 则会提示Uncaught Type Error的致命错误,提示age方法只接受整型数而不是浮点数。

 

1.2. 返回类型声明。

PHP7的另一个重要特性是支持返回类型的声明。无论是在函数还是对象的方法中,我们都可以声明返回类型。

Class Person
{
    public function age(float $age) : string
    {
        return 'Age is '.$age;
    }

    public function name(string $name) : string
    {
        return $name;
    }
}

如上面代码所示,我们使用了返回类型声明,Person类中的age和name都返回string字符串。

返回类型声明还可以使用对象作为返回类型。

Class Address
{
    public function getAddress()
    {
        return ['street'=>'street1','country'=>'china'];
    }
}


Class Person
{
    public function getAddress()
    {
        return new Address();
    }
}

由上面代码所示,getAddress方法返回一个address对象。

类型声明的好处在于:它让函数和方法的形参和返回值有所预期,避免不必要的数据传递,从而造成错误。

 

PHP7.1新特性总结 PHP7.1新特性总结 对应的链接地址 欢迎大家关注我的微信公众号,会分享自己在Web开发领域和生活工作中的一些所思所悟,希望能给你带来帮助! 阅读详情

相关推荐

Spine动画在Unity里卡顿、闪烁、排序错乱?这些性能优化与渲染问题一次讲清

本文深入解析了Spine动画在Unity中常见的卡顿、闪烁和排序错乱问题,提供了全面的性能优化与渲染解决方案。从性能瓶颈诊断到材质合并、动态合批优化,再到层级错乱与Alpha闪烁的处理,帮助开发者提升动画表现和运行效率。特别针对Unity和Spine的协同工作进行了详细的技术探讨。

weixin_29967445的博客 379

php 字符串 类,php学习之php的八种数据类型之字符串string的使用

说明:数据类型就是php能存储数据的格式,php提供8种数据类型标量类型intfloatbooleanstring复合类型arrayobject特殊nullresource除了这八种数据类型之外,还有在文档手册中提供了一些类型,查手册需要了解1.字符串类型:string说明:字符串类型就是把任何数据加上引号(单引号和双引号),就变成了字符串了.如:$name=’admin’;$name=”admi...

weixin_35683697的博客 472

硬件学习笔记(器件篇)—— 磁珠与磁环

因为有这些差别,所有经常会让人们觉得他们并不是一类器件,但实际上他们的原理是一样的。我们使用磁珠是为了利用损耗消耗高频能量,所以如果我们理解了磁珠是如何消耗高频能量的,我们就能理解磁珠的工作原理。

y_u_yu_yu_的博客 1万+

php 在方法中使用另一个方法_Rust中方法的使用

什么是方法方法类似于函数:它们用fn关键字及其名称声明,它们可以具有参数和返回值,并且它们包含一些从其他地方调用它们时将运行的代码。但是,方法与函数的不同之处在于,它们是在struct(或分别在第6和17章中介绍的enum或trait对象)的上下文中定义的,并且它们的第一个参数始终为self和c++(this)一致,表示调用该方法的struct实例。定义方法让我们改变area,有一个函数Recta...

weixin_39897758的博客 323

常见信号逻辑电平标准介绍:TTL、CMOS、ECL、LVDS、CML

逻辑电平是指数字信号电压的高、低电平,相关参数定义如下:(1)输入高电平门限Vih:保证逻辑门的输入为高电平时所允许的最小输入高电平,当输入电平高于Vih时,则认为输入电平为高电平;(2)输入低电平门限Vil:保证逻辑门的输入为低电平时所允许的最大输入低电平,当输入电平低于Vil时,则认为输入电平为低电平;(3)输出高电平门限Voh:保证逻辑门的输出为高电平时的输出电平的最小值,逻辑门的输出为高电平时的电平值都必须大于此Voh;

liuchj的博客 1万+

Frida实战:如何用HashMap.put拦截法快速定位安卓App加密参数(附完整脚本)

本文详细介绍了如何使用Frida拦截HashMap.put方法快速定位安卓App加密参数,提供完整脚本和实战案例。通过动态分析技术,相比传统静态分析大幅提升效率,适用于电商、社交、金融等场景的加密参数定位。

jump7的博客 260

PHP7新特性(1)

PHP7具有很多用于编写高性能、高效代码的新特性,同时也以除了一些历史版本中过时的特性,这些过时的特性如果在PHP7中使用会触发一个error错误。目前大多数的fatal错误都可以异常捕获,所以PHP不再显示一些不标准的fatal错误i,取而代之的是抛出一个携带很多可用信息的异常。 一、OOP特性在使用PHP7之前,我们在函数和类之间传递参数时不必声明变量类型,同样在返回数据时也不必声明变量类型。任

lulubaby_的博客 481

C#开发医学影像胶片打印系统(一):万能花式布局的实现思路

本篇文章将介绍开发医学影像胶片打印系统(printscu模式)遇到不规则排版时的一种思路,一般来讲,医院打印胶片时都是整张胶片打印,但有时需要将多个病人或一个病人的多个检查打印在同一张胶片上,这时候就需要不规则排版来满足打印需求,使胶片利用率最大化。

罗万科技的博客 1325

php-7.1.0,PHP7.0和php7.1中的语法新特性的总结

本篇文章给大家带来的内容是关于PHP7.0和php7.1中的语法新特性的总结,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。php7.0的新特性:1、空合并运算符(??)简化判断$param = $_GET['param'] ?? 1;相当于:$param = isset($_GET['param']) ? $_GET['param'] : 1;2、变量类型声明两种模式 : 强制 ...

weixin_30724041的博客 352

《AI大模型评测与智能测试》

第三篇“实践蓝图”(第6-7章)着眼于测试领域AI应用,重点介绍了RAG、AI Agent开发及构建端到端智能测试系统的方法。本书聚焦AI时代的“质量”核心,以“AI赋能测试”(AI For Testing)与“AI模型评测”(Testing For AI)为双轮驱动。内容不仅深入剖析如何科学度量AI大模型的内在质量,还系统讲解如何利用AI赋能传统软件测试,帮助读者贯通从模型原理、评测到应用开发的全链路知识。

酌沧 1139

YOLO+OpenCV强强联手:高精度跌倒检测技术实战解析

(0, 1), (0, 2), (1, 3), (2, 4), # 脖子和头部(3, 5), (5, 6), (5, 7), (7, 9), (5,11),# 左臂(4,6), (6, 12), (6,8) ,(8,10),# 右臂(11, 12), (11, 13), (13, 15), #左腿(12, 14), (14, 16) #右腿keypoints是检测到的人体关键点数据,frame是图像帧,boxes是检测到的边界框信息。定义了人体关键点之间的连接关系,用于绘制人体骨架。

yolo模型训练找我,AI游戏合作找我 2310

PHP 7.1 新特性

来源于官方RFC文档 可空类型 <?php function answer():?int{ return null; //ok } function answer():?int{ return 4631.8; //4631 } function answer(?string $v){ echo $v; //answer(null); ok } 注意:如果函数本身定义

Akrisllen的博客 1557

PHP实现获取本机ip及mac地址​(附完整源码)

PHP实现获取本机ip及mac地址​(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 351

PHP7.0~PHP7.1~PHP7.2~PHP7.3~PHP7.4新特性

大家都知道,php现在在不断地更新和壮大,每个版本都有一次性能的提升,接下来我将给大家讲解下PHP7.X的新的特性。我会按照每个版本的特性进行讲解。 PHP7.0新特性 PHP7.1新特性 PHP7.0新特性 如果浏览不顺畅请到原文章出处:https://www.sky8g.com/technology/3208/ 请注意可能会提示风险,这是优快云网站设置的问...

jimbooks的博客 8043

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

php7.0 和 php7.1新特性

PHP7.1 新特性 1.可为空(Nullable)类型 类型现在允许为空,当启用这个特性时,传入的参数或者函数返回的结果要么是给定的类型,要么是 null 。可以通过在类型前面加上一个问号来使之成为可为空的。 function test(?string $name) { var_dump($name); } 以上例程会输出: string(5) "tpunt"...

diluo9689的博客 235

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

php7.0优缺点_php7.0 和 php7.1新特性

PHP7.1新特性1.可为空(Nullable)类型类型现在允许为空,当启用这个特性时,传入的参数或者函数返回的结果要么是给定的类型,要么是 null 。可以通过在类型前面加上一个问号来使之成为可为空的。function test(?string $name){var_dump($name);}以上例程会输出:string(5) "tpunt"NULLUncaught Error: Too few...

weixin_39611070的博客 765

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

getpostdata php7.0_PHP7.0,PHP7.1.x新特性

PHP7.1.x新特性风.fox1.可为空(Nullable)类型类型现在允许为空,当启用这个特性时,传入的参数或者函数返回的结果要么是给定的类型,要么是 null 。可以通过在类型前面加上一个问号来使之成为可为空的。function test(?string $name){var_dump($name);}以上例程会输出:string(5) "tpunt"NULLUncaught Error: ...

weixin_39838328的博客 257

PHP 7.1 新特性一览

可空类型 可空类型主要用于参数类型声明很函数返回值声明。 主要的两种形式如下: 1 2 3 4 5 6 functionanswer():?int{ returnnull;//ok}functionanswer():?int{ return42;//ok}funct...

编程哲学家的专栏 377

php 7.1 寿命,PHP 7.1新特性

PHP 7.1新特性可为空(Nullable)类型类型现在允许为空,当启用这个特性时,传入的参数或者函数返回的结果要么是给定的类型,要么是 null 。可以通过在类型前面加上一个问号来使之成为可为空的。function test(?string $name){var_dump($name);}test('tpunt');test(null);test();以上例程会输出:string(5) "tp...

weixin_39972567的博客 97

PHP7.0,PHP7.1.x新特性

PHP7.1.x新特性风.fox1.可为空(Nullable)类型类型现在允许为空,当启用这个特性时,传入的参数或者函数返回的结果要么是给定的类型,要么是 null 。可以通过在类型前面加上一个问号来使之成为可为空的。function test(?string $name) { var_dump($name); }1234以上例程会输出:string(5) "tpunt" NULL Unc...

homelam的博客 446

php7.1函数,PHP7.1常用新特性和函数

在php7发布了之后,官方又紧接着发布了php7.1、php7.2,我们也接着使用了新版本。接下来就说说7.1有那些新的特性。Nullable types在7的时候,如果使用了强类型就必须传递或者返回指定的类型。现在新增了Nullable Types就可以传递或者返回null类型。像下面的那样:function testNullable(string $argument): string{retu...

weixin_39797381的博客 433

php7类,PHP 7.1 新特性一览

PHP 7.1 release版本发布在即,本文整理一下 7.1 中的一些新特性以供了解。所有内容均选自官方 RFC 文档。可空类型可空类型主要用于参数类型声明和函数返回值声明。主要的两种形式如下:function answer(): ?int {return null; //ok}function answer(): ?int {return 42; // ok}function say(?...

weixin_30496435的博客 175

php7.1新特性地址分享

https://www.youkuaiyun.com/article/2015-09-16/2825720

ahjxhy2010的博客 315

php 7.1特性,PHP 7.1 新特性一览

可空类型可空类型主要用于参数类型声明和函数返回值声明。主要的两种形式如下:

weixin_29325007的博客 218
上一篇: 《大教堂与集市》[美] Eric Raymond
下一篇: PHP7新特性2
Watkin Lee
博客等级 码龄10年 18粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值