日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

PHP8的注解

發布時間:2024/8/23 php 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP8的注解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PHP8.0增加了注解的支持, 雖然 PHP的注解沒用過, 但是咱用過JAVA的注解呀.

注解這玩意怎么用? 簡單說就下面幾步:

  • 定義注解類
  • 使用注解
  • 提取注解
  • 到了PHP中, 也基本上換湯不換藥.

    使用

    定義注解類

    #[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_FUNCTION)] class MyAttribute{private $value;public function __construct($value){$this->value = $value;} }

    這就定義完了, 其中Attrbute用來標識當前注解可以用在什么地方.

    使用注解

    #[MyAttribute('test')] function test(){}

    提取注解

    同樣, 也是通過反射來提取注解.

    // 獲取方法的反射對象 $ref = new ReflectionFunction("test"); // 獲取方法上指定名稱的全部注解(可以定義多個, 所以返回值是個數組) $attributes = $ref->getAttributes(MyAttribute::class); // 將獲取的第一個值實例化. 此時會調用注解的構造方法 $myAttribute = $attributes[0]->newInstance();

    簡單使用就這樣了. 問了, 注解有什么用? 想想JAVA中怎么用的, 基本差不多吧. 比如框架的自動注入, 定義一個路徑, 在加載的時候掃描路徑下的所有文件, 提取出對應的注解.

    注釋

    在8.0之前, 通過注釋其實也能夠實現同樣的功能. 但是相比注解, 注釋有幾點不足:

  • 沒有編譯器提示. 容易打錯名字, 參數等等
  • 容易誤刪. 畢竟注釋默認為是不影響代碼邏輯的
  • 缺少運行時檢查. 就算你寫錯了, 也能正常運行, 可能會導致隱藏的 bug
  • 注釋的解析缺少語言支持.
  • 而注解就是升級后的語言層面注釋, 較之前方便了許多

    庫注解

    記錄一些系統已經定義好的注解, 但是發現沒有找到文檔. 么事, 全局搜索使用了Attribute的地方就好啦.

    Immutable

    命名空間: JetBrains\PhpStorm

    將一個類的屬性標記為不可修改的. (寫在類上則標識類的所有屬性). 但是這個注解只是加給phpStorm看的, 運行時并不會報錯.

    ArrayShape

    告訴 IDE 返回的數組中都有什么類型, 方便 IDE 提示(IDE 使用)

    Deprecated

    棄用標識(IDE 使用). 和原本的啟用注釋類似. 不過可以提示新的函數.

    ExpectedValues

    標識期望得到的值(IDE 使用). 指定可能的值列表, 二進制位, 類常量等等.

    例如Attribute類構造方法的使用:

    Language

    (IDE 使用) 說是能提示參數是某個語言的字符串(如 SQL), 研究半天沒懂動有什么用.

    NoReturn

    (IDE 使用) 標記調用函數時, 會結束執行, 就像調用exit函數一樣.

    其參數可以指定, 僅當接收指定常量參數時才退出.

    Pure

    標記函數調用過程對結果沒有影響, 簡單說就是, 如果函數的返回值沒有使用, 那就可以安全的刪除這個函數調用.

    最后, 發現已經定義的注解, 都是給編譯器使用的.


    簡單上手之后, 發現和JAVA基本一致, 后面如果封裝一些組件的話, 應該能用得上.

    總結

    以上是生活随笔為你收集整理的PHP8的注解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。