Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PhpStorm未在数组映射内显示代码提示_Php_Phpstorm_Code Completion - Fatal编程技术网

PhpStorm未在数组映射内显示代码提示

PhpStorm未在数组映射内显示代码提示,php,phpstorm,code-completion,Php,Phpstorm,Code Completion,我没有得到此代码的代码提示: 我认为get_index的PHPDoc做得很好,NetBeans似乎理解它并正确地显示提示: /** * Get Index * * @global object $wpdb * @param String $extension_table_name * @return \ZRDN\Recipe[] */ public static function get_indexes($extension_table_name) { global $

我没有得到此代码的代码提示:

我认为
get_index
的PHPDoc做得很好,NetBeans似乎理解它并正确地显示提示:

/**
 *  Get Index
 * 
 * @global object $wpdb
 * @param String $extension_table_name
 * @return \ZRDN\Recipe[]
 */
public static function get_indexes($extension_table_name) {
    global $wpdb;
    $db_name = $wpdb->prefix . $extension_table_name;
    $selectStatement = "SELECT * FROM `{$db_name}`";
    $recipe_indexes = $wpdb->get_results($selectStatement);

    return $recipe_indexes;
}
Recipe
在同一文件中定义在同一命名空间下:

class Recipe {
   /**
    * @var int
    */
   public $recipe_id;

   /**
    * @var int
    */
   public $post_id;
...

有什么问题吗?

如果您知道
$recipes
始终包含
Recipe
类型的对象,请将其用作map函数的
$Recipe
参数的类型:

$post_ids = array_map(function(Recipe $recipe) {
    return $recipe->recipe_id;
}, $recipes);

通过这种方式,PhpStorm(和其他IDE)可以帮助您完成自动完成,并且当PHP解释器在
$recipes
中遇到错误类型的值时,会触发致命错误。

PhpStorm似乎还没有涵盖这种使用情况。只需使用内联PHPDoc手动键入提示您的
$recipe
。仅供参考:JetBrains论坛上相同:。简而言之:手动输入typehint(可以是PHPDoc或PHP的原生typehint)。PhpStorm特性票证——NetBeans如何支持这一点毫无意义,但PhpStorm却不支持。我考虑过切换,但我已经在PhpStorm中进行了调试,我不想遇到麻烦。