问题
The double_metaphone() function is defined in a PECL extension and as such PHPStorm cannot see it being defined. I wouldn't like to see any warnings about this. I assume I could make PHPStorm treat this function call as defined through some kind of annotation but I don't know how to make this happen.
回答1:
You need what is called "stub files":
- Create a
.php
file and place it anywhere in your project (be it project itself .. or as some External Library (Settings | PHP | Include paths) -- does not matter, as long as PhpStorm can see it in this project). - Add that function definition as it would be done in PHP itself: describe all parameters, return type etc .. just leave the body of the function empty. The documentation is optional -- just the more doc you have the more useful it will be for PhpStorm (as IDE can warn you about incorrect return type usage; invalid parameter type etc)
- That's it
That's exactly how ALL known to PHP functions/classes/etc are done in PhpStorm in first place: just Ctrl + Click on any standard function/class/constant and see it yourself.
An example: how standard bin2hex
function is defined:
<?php
/**
* (PHP 4, PHP 5)<br/>
* Convert binary data into hexadecimal representation
* @link http://php.net/manual/en/function.bin2hex.php
* @param string $str <p>
* A character.
* </p>
* @return string the hexadecimal representation of the given string.
*/
function bin2hex ($str) {}
来源:https://stackoverflow.com/questions/15773434/how-to-make-phpstorm-treat-a-function-as-defined