PHP 7的一些引人注目的新特性简单介绍
这篇文章主要介绍了PHP 7的一些引人注目的新特性,这些新特性在新的文档中都有对应的详细说明,需要的朋友可以参考下
1. ?? 运算符(NULL 合并运算符)
把这个放在第一个说是因为我觉得它很有用。用法:
$a = $_GET['a'] ?? 1;
它相当于:
我们知道三元运算符是可以这样用的:
$a ?: 1
但是这是建立在 $a 已经定义了的前提上。新增的 ?? 运算符可以简化判断。
2. 函数返回值类型声明
官方文档提供的例子(注意 ... 的边长参数语法在 PHP 5.6 以上的版本中才有):
从这个例子中可以看出现在函数(包括匿名函数)都可以指定返回值的类型。
这种声明的写法有些类似于 swift:
func sayHello(personName: String) -> String { let greeting = "Hello, " + personName + "!" return greeting }
这个特性可以帮助我们避免一些 PHP 的隐式类型转换带来的问题。在定义一个函数之前就想好预期的结果可以避免一些不必要的错误。
不过这里也有一个特点需要注意。PHP 7 增加了一个 declare 指令:strict_types,既使用严格模式。
使用返回值类型声明时,如果没有声明为严格模式,如果返回值不是预期的类型,PHP 还是会对其进行强制类型转换。但是如果是严格模式, 则会出发一个 TypeError 的 Fatal error。
强制模式:
以上代码可以正常执行,foo 函数返回 int 1,没有任何错误。
严格模式:
在声明之后,就会触发致命错误。
是不是有点类似与 js 的 strict mode?
3. 标量类型声明
PHP 7 中的函数的形参类型声明可以是标量了。在 PHP 5 中只能是类名、接口、array 或者 callable (PHP 5.4,即可以是函数,包括匿名函数),现在也可以使用 string、int、float和 bool 了。
官方示例:
需要注意的是上文提到的严格模式的问题在这里同样适用:强制模式(默认,既强制类型转换)下还是会对不符合预期的参数进行强制类型转换,严格模式下则触发 TypeError 的致命错误。
4. use 批量声明
PHP 7 中 use 可以在一句话中声明多个类或函数或 const 了:
但还是要写出每个类或函数或 const 的名称(并没有像 python 一样的 from some import * 的方法)。
需要留意的问题是:如果你使用的是基于 composer 和 PSR-4 的框架,这种写法是否能成功的加载类文件?其实是可以的,composer 注册的自动加载方法是在类被调用的时候根据类的命名空间去查找位置,这种写法对其没有影响。
5. 其他的特性
其他的一些特性我就不一一介绍了,有兴趣可以查看官方文档:
简要说几个:
PHP 5.3 开始有了匿名函数,现在又有了匿名类了;
define 现在可以定义常量数组;
闭包( Closure)增加了一个 call 方法;
生成器(或者叫迭代器更合适)可以有一个最终返回值(return),也可以通过 yield from 的新语法进入一个另外一个生成器中(生成器委托)。
生成器的两个新特性(return 和 yield from)可以组合。具体的表象大家可以自行测试。PHP 7 现在已经到 RC5 了,最终的版本应该会很快到来。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











하드디스크 일련번호는 하드디스크의 중요한 식별자로 일반적으로 하드디스크를 고유하게 식별하고 하드웨어를 식별하는 데 사용됩니다. 운영 체제를 설치하거나, 올바른 장치 드라이버를 찾거나, 하드 드라이브를 수리할 때와 같이 하드 드라이브 일련 번호를 쿼리해야 하는 경우도 있습니다. 이 문서에서는 하드 드라이브 일련 번호를 확인하는 데 도움이 되는 몇 가지 간단한 방법을 소개합니다. 방법 1: Windows 명령 프롬프트를 사용하여 명령 프롬프트를 엽니다. Windows 시스템에서는 Win+R 키를 누르고 "cmd"를 입력한 후 Enter 키를 눌러 명령을 엽니다.

PyCharm은 개발 효율성을 크게 향상시킬 수 있는 풍부한 기능과 도구를 갖춘 강력한 Python 통합 개발 환경입니다. 그 중 교체 기능은 개발 과정에서 자주 사용되는 기능 중 하나로, 개발자가 코드를 빠르게 수정하고 코드 품질을 향상시키는 데 도움을 줄 수 있습니다. 이 기사에서는 초보자가 이 기능을 더 잘 익히고 사용할 수 있도록 특정 코드 예제와 함께 PyCharm의 대체 기능을 자세히 소개합니다. 대체 기능 소개 PyCharm의 대체 기능은 개발자가 코드에서 지정된 텍스트를 빠르게 대체하는 데 도움이 될 수 있습니다.

Dogecoin은 고정된 공급 한도가 없고, 빠른 거래 시간, 낮은 거래 수수료, 대규모 밈 커뮤니티가 있는 인터넷 밈을 기반으로 만들어진 암호화폐입니다. 용도로는 소액 거래, 팁, 자선 기부 등이 있습니다. 그러나 무제한 공급, 시장 변동성, 조크 코인으로서의 지위 역시 위험과 우려를 불러일으킵니다. 도지코인이란 무엇입니까? Dogecoin은 인터넷 밈과 농담을 기반으로 만들어진 암호화폐입니다. 기원과 역사: Dogecoin은 2013년 12월 두 명의 소프트웨어 엔지니어 Billy Markus와 Jackson Palmer에 의해 만들어졌습니다. 당시 인기 있었던 "Doge" 밈에서 영감을 받아, 영어가 서툰 시바견이 등장하는 코믹한 사진입니다. 특징 및 이점: 무제한 공급: 비트코인과 같은 다른 암호화폐와는 달리

Douyin의 인기로 인해 점점 더 많은 개인과 회사가 Douyin 계정 매트릭스에 관심을 갖기 시작했습니다. Douyin 계정 매트릭스는 브랜드 영향력 확대 및 사용자 충성도 향상이라는 목적을 달성하기 위해 여러 관련 계정을 생성하여 유기적인 전체를 형성하는 것을 의미합니다. 그렇다면 Douyin 계정 매트릭스의 이점은 무엇입니까? Douyin 계정 매트릭스를 만드는 목적은 무엇입니까? 이 기사에서는 이러한 문제를 자세히 살펴봅니다. 1. Douyin 계정 매트릭스의 이점은 무엇입니까? 브랜드 노출 증가: 여러 Douyin 계정을 생성하면 브랜드 정보가 더 많은 잠재 사용자에게 다가갈 수 있어 브랜드의 가시성과 평판을 높이는 데 도움이 됩니다. 콘텐츠 노출 개선: Douyin의 추천 알고리즘을 사용하여 여러 계정을 통해 콘텐츠를 게시하면 브랜드와 제품의 노출 기회가 늘어나고 플랫폼에서의 가시성이 향상될 수 있습니다. 3. 정밀도 달성

2024년은 AI 휴대폰 원년이다. AI 스마트 기술을 탑재해 휴대폰을 더욱 효율적이고 편리하게 사용할 수 있는 휴대폰이 늘어나고 있다. 최근 연초 출시된 갤럭시 S24 시리즈에서는 제너레이티브 AI 경험이 다시 한 번 향상됐다. 자세한 기능 소개는 아래에서 살펴보자. 1. 생성적 AI의 강력한 강화 Samsung Galaxy S24 시리즈는 Galaxy AI의 강화를 통해 많은 지능형 애플리케이션을 제공했습니다. 이러한 기능은 Samsung One UI6.1과 긴밀하게 통합되어 사용자가 언제든지 편리하고 지능적인 경험을 얻을 수 있습니다. 휴대전화의 성능과 사용 편의성을 향상시킵니다. 갤럭시 S24 시리즈가 개척한 원 앤 검색 기능은 사용자가 길게 누르기만 하면 되는 기능 중 하나입니다.

빠른 점수 조회 도구는 학생과 학부모에게 더욱 편리함을 제공합니다. 인터넷의 발달로 점점 더 많은 교육 기관과 학교에서 온라인 점수 확인 서비스를 제공하기 시작했습니다. 자녀의 학업 진행 상황을 쉽게 추적할 수 있도록 이 기사에서는 일반적으로 사용되는 몇 가지 온라인 점수 확인 플랫폼을 소개합니다. 1. 편의성 - 학부모는 온라인 점수체크 플랫폼을 통해 언제 어디서나 자녀의 시험점수를 확인할 수 있습니다. 부모는 컴퓨터나 휴대폰에서 해당 온라인 점수체크 플랫폼에 로그인하여 언제든지 편리하게 자녀의 시험점수를 확인할 수 있습니다. 직장에서든 외출 중이든 인터넷 연결이 있는 한, 부모는 자녀의 학습 상태를 파악하고 자녀에게 목표에 맞는 지도와 도움을 제공할 수 있습니다. 2. 다양한 기능 – 점수 조회 외에도 강좌 일정, 시험 준비 등의 정보에 대한 다양한 온라인 검색 기능을 제공합니다.

여덟 번째 색상은 Neon Abyss의 무기입니다. 많은 플레이어들이 여덟 번째 색상의 무기에 대한 탄도와 무기 강도를 활용하는 방법을 알고 싶어합니다. 그럼 네온 어비스의 8색 무기 궤적, 무기 강도, 무기 게임 플레이에 대한 자세한 가이드를 살펴보겠습니다. 네온 어비스 컬러 8 상세 가이드 무기 소개: 마법사의 비밀 무기! 무기 공격 속도: 보통 무기 강도: 보통 무기 게임 플레이: 여덟 번째 색상의 공격 방법은 단일 대상을 세 번 공격한 후 광선을 발사합니다. 탄도 디스플레이:

Golang(Go 언어)에는 전통적인 의미의 클래스 개념이 없지만, 클래스와 유사한 객체지향 기능을 구현할 수 있는 구조체라는 데이터 형식을 제공합니다. 이 기사에서는 구조를 사용하여 객체 지향 기능을 구현하는 방법을 설명하고 특정 코드 예제를 제공합니다. 구조의 정의와 사용법 먼저 구조의 정의와 사용법을 살펴보자. Golang에서는 type 키워드를 통해 구조를 정의한 다음 필요한 곳에 사용할 수 있습니다. 구조에는 속성이 포함될 수 있습니다.
