久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      一起來(lái)分析為什么不能在PHP中使用泛型

      本篇文章給大家?guī)?lái)了關(guān)于PHP的相關(guān)知識(shí),主要介紹了為什么不能在PHP中使用泛型,下面將深入探討泛型和PHP背后的情況,理解為什么泛型還不被支持作為一等公民,希望對(duì)大家有幫助。

      一起來(lái)分析為什么不能在PHP中使用泛型

      推薦學(xué)習(xí):《PHP教程》

      為什么我們不能在 PHP 中使用泛型

      我們將深入探討泛型和 PHP 背后的情況。理解為什么泛型在 PHP 中還不被支持作為一等公民,這非常有趣,并且非常重要。

      一起來(lái)分析為什么不能在PHP中使用泛型

      讓我們看看吧。

      PHP 中沒(méi)有泛型。這就是去年的 Nikita 的結(jié)論。這根本不可行。

      為了理解 Nikita 為什么這么說(shuō),我們需要看看如何實(shí)現(xiàn)泛型。一般來(lái)說(shuō),有三種可能的方法;支持泛型的編程語(yǔ)言大多使用這三種方法之一。

      第一個(gè)稱(chēng)為 單態(tài)泛型。 讓我們回到這個(gè)系列的第一篇文章,在這篇文章中我展示了這個(gè)集合示例:

      class StringCollection extends Collection {     public function offsetGet(mixed $key): string      { /* … */ } } class UserCollection extends Collection {     public function offsetGet(mixed $key): User      { /* … */ } }

      我解釋了我們可以為需要的集合的每種類(lèi)型,手動(dòng)創(chuàng)建集合類(lèi)的實(shí)現(xiàn)。 工作量將是巨大的,會(huì)有很多代碼,但是它會(huì)起作用。

      單態(tài)泛型正是這樣做的,但在幕后自動(dòng)實(shí)現(xiàn)。 在運(yùn)行時(shí),PHP 不會(huì)知道泛型 Collection 類(lèi),而是知道兩個(gè)或多個(gè)特定實(shí)現(xiàn):

      $users = new Collection<User>(); // Collection_User $slugs = new Collection<string>(); // Collection_string

      單態(tài)泛型是一種完全有效的方法。例如,Rust 就使用它們。 其一個(gè)優(yōu)點(diǎn)是有一系列的性能提升,因?yàn)樵谶\(yùn)行時(shí)沒(méi)有

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)