内容简介:PHP 8 brings lots of new features, in this list we'll look at the most outstanding ones. If you want a full list and background information, you can read about all thingsnew in PHP 8.Attributes — aka annotations — you can about them in depth inthis post.Un
PHP 8 brings lots of new features, in this list we'll look at the most outstanding ones. If you want a full list and background information, you can read about all thingsnew in PHP 8.
use \Support\Attributes\ListensTo;
class ProductSubscriber
{
<<ListensTo(ProductCreated::class)>>
public function onProductCreated(ProductCreated $event) { /* … */ }
<<ListensTo(ProductDeleted::class)>>
public function onProductDeleted(ProductDeleted $event) { /* … */ }
}
Attributes — aka annotations — you can about them in depth inthis post.
public function foo(Foo|Bar $input): int|float; public function bar(mixed $input): mixed;
Union types allows for type hinting several types. There's also a new mixed
type which representsseveral types at once.
interface Foo
{
public function bar(): static;
}
The static
return type is built-in.
[JIT] opcache.jit=5
The just-in-time compiler for PHP.
$triggerError = fn() => throw new MyError();
$foo = $bar['offset'] ?? throw new OffsetDoesNotExist('offset');
throw
can be used in expressions.
try {
// Something goes wrong
} catch (MySpecialException) {
Log::error("Something went wrong");
}
Non-capturing catches: no need to specify an exception variable if you don't need it.
public function(
string $parameterA,
int $parameterB,
Foo $objectfoo,
) {
// …
}
Trailing commas are allowed in parameter lists
str_contains('string with lots of words', 'words');
str_starts_with('haystack', 'hay');
str_ends_with('haystack', 'stack');
New string functions.
Let's not fool ourselves: 8 code blocks isn't enough to summarise all great new things in PHP 8. So let's just add a few more.
function bar(Stringable $stringable) { /* … */ }
A new
Stringable
interface
.
$object::class
Call ::class
directly on objects.
There's even more. If you want a full list, you can find iton this blog.
What feature are you looking forward to the most? Let me know on Twitter or viaemail.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Series 60 应用程序开发
巴克 / 人民邮电出版社 / 2005-7 / 75.0
Series 60智能手机开发平台正掀起新一轮的移动服务浪潮。超过60%的手机生产商获得了Series 60平台的授权。Series 60移动应用开发平台拥有最大的用户群,从而成为智能手机市场的代表。诺基亚与EMCC软件公司合作,为C++程序员和软件设计师编撰了这本Series 60开发的权威指南。本书由诺基亚资深专家进行了全面审阅。本书内容涉及了开发过程的各个阶段,从设计、编程、测试、调试到部署......一起来看看 《Series 60 应用程序开发》 这本书的介绍吧!