本文系翻譯,原文地址:https://stitcher.io/blog/new-in-php-81#pure-intersection-types-rfc
純交集類型 (Pure intersection types)
您已經(jīng)了解PHP 8.0 中的聯(lián)合類型,交集類型也是一個(gè)類似的特性。聯(lián)合類型要求輸入是給定類型之一,交集類型要求輸入是所有指定類型。
當(dāng)您使用大量接口時(shí),交集類型特別有用:
function generateSlug(HasTitle&HasId $post) { return strtolower($post->getTitle()) . $post->getId(); }
如果你喜歡這種編程風(fēng)格,你需要?jiǎng)?chuàng)建一個(gè)新的接口Sluggable并在 中實(shí)現(xiàn)它$post,交集類型擺脫了這種開銷。
詳情查看RFC:https://wiki.php.net/rfc/pure-intersection-types