一般的返回類型,這是我如何得到我的IDE(PhpStorm 2017)認識到,我沒有得到正式聲明變量的類型:PHPDoc的和PhpStorm:表示魔術方法
/*
* @var User $user
*/
foreach($users as $user){}
IDE隨後知道$user
屬於User
類。現在我面臨的情況與這一行:
Yii::app()->user->login()
具體來說,IDE不知道什麼類型的user
是。我得到警告:
現場通過魔術方法訪問
於是,我就用指定:
/**
* @var User Yii::app()->user
*/
Yii::app()->user->login();
但是,這並不有所作爲。我怎樣才能幫助IDE解決這個問題?
*「於是,我就用指定:'/ ** @var用戶的Yii ::應用程序() - >用戶* /'「* - 它不會像那樣工作 - 這樣你可以僅鍵入一級變量 - 而不是某個其他類的屬性。最好的方法是與@德米特里的答案去,如果你只需要這種類型的提示一次(但它*可能*有一些副作用))。否則,請通過中間變量在本地執行,就像@Nima所建議的那樣(但您必須在每個您將要使用它的地方執行此操作)。 – LazyOne
另一種可能的解決方案 - 將'Yii :: app() - > user'作爲參數傳遞給您的類構造函數/方法調用等 - 這樣您可以輕鬆地鍵入內部類變量。 – LazyOne
@LazyOne:「*最好的方法是與德米特里的答案一起去,如果你只需要這種類型的提示一次*」Dmitry的答案似乎無處不在'Yii :: app() - > user'出現,不只在一個地方。我只用他的第二課('CApplication')來嘗試它;不知道副作用是什麼 – BeetleJuice