W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
安裝好typechecker,你需要設置你的代碼,可以用typechecker。
首先,你將需要一個.hhconfig文件。這個文件很多次是空的(例如,只是touch .hhconfig),但也可以將配置設置添加到這個文件中。
該.hhconfig文件應該放在項目代碼庫的頂級目錄中。Typechecker需要全局分析您的代碼才能進行適當?shù)念愋蜋z查,因此需要知道項目根目錄的位置。它使用該.hhconfig文件 - 當調用Typechecker時hh_client,它將首先.hhconfig查找當前目錄中或之上的第一個,然后檢查.hhconfig所在位置下的所有文件。
.hhconfig第一次創(chuàng)建新的并運行typechecker 的正常順序如下:
%(root project directory) touch .hhconfig
# Then run the typechecker client.
%(root project directory) hh_client
通常,默認值為空.hhconfig將用于類型檢查。但是,有一些可以放在.hhconfig文件中的配置選項。
默認值:true 用法:assume_php = false
在嚴格模式文件中,由于禁用了PHP兼容性(除此之外),Typechecker具有假設所有代碼引用也都在Hack中的奢侈品。部分模式文件沒有這個奢侈品。由于部分模式與PHP具有完全的互操作性,因此其中的代碼允許調用PHP函數(shù)并操作PHP類 - Typechecker的代碼看不到。這意味著當typechecker在部分模式文件中看到類或函數(shù)名稱時,它一無所知,它必須假定該類或函數(shù)在一個PHP文件中被定義,它看不到,并且必須允許該代碼通過。
這對PHP兼容性很好,通常是部分轉換的代碼庫中所需要的。然而,它有一些缺點 - 最值得注意的是,它不會捕獲到真正不存在的類的拼寫錯誤或意外引用。這些問題只會在運行時顯示。
該assume_php選項控制此行為。其默認值,true如上所述。當設置為false,那么Typechecker不再認為部分模式文件中的引用不能知道的類和函數(shù)在PHP文件中是無效的。它會在部分模式文件中引發(fā)錯誤,就像嚴格模式文件一樣。這有助于覆蓋部分轉換的代碼庫。然而,為了獲得更大的覆蓋率,當然,所有的代碼當然都可以看到typechecker,當然 - 你的轉換必須足夠遠,所有的代碼都是在Hack文件中(即使它只是聲明模式)。代碼沒有需要完全轉換為嚴格模式; 將這種增加覆蓋范圍擴大到嚴格模式之外就是這個選擇。
默認值:empty 用法:user_attributes = CustomAttribute1 CustomAttribute2
您可以user_attributes使用所有自定義用戶屬性填充配置設置。此設置的主要用途是幫助確保您不會在代碼庫中拼寫任何屬性。它還可以確保您可以跟蹤應使用什么屬性來避免將任何流氓屬性添加到代碼中。
您幾乎肯定不需要更改任何這些選項,如果您不正確地執(zhí)行此操作將會打破任何事情。它們被包括在這里是為了完整。
這些是用于高級調整typechecker如何使用內存。除非您的代碼庫包含超過10,000,000行代碼,否則不需要更改這些代碼。
默認值:false 用法:unsafe_xhp = true
設置此選項會true嚴重影響Typechecker對XHP文件的分析,在使用XHP時完全隱藏某些大類錯誤。只有在將Hack支持直接添加到庫之前手動添加Hack類型到某些古代版本的XHP庫,然后在隨后的4年內未升級,這才有用。(如果你想知道你是否屬于這個類別,你不會。)
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: