数组索引如何成为文件路径

时间:2016-05-14 作者:nmc

在下面末尾的函数中,变量$plugin\\u path用作数组的索引。

既然上面的一些行调用了一个返回字符串的函数(请参见代码行$plugin\\u path=wp\\u normalize\\u path(dirname($file)),这怎么可能呢。

这是正常的还是PHP技巧?

有人能帮我解决这个问题吗?

非常感谢

function wp_register_plugin_realpath( $file ) {
    global $wp_plugin_paths;

    // Normalize, but store as static to avoid recalculation of a constant   value
    static $wp_plugin_path = null, $wpmu_plugin_path = null;
    if ( ! isset( $wp_plugin_path ) ) {
        $wp_plugin_path   = wp_normalize_path( WP_PLUGIN_DIR   );
        $wpmu_plugin_path = wp_normalize_path( WPMU_PLUGIN_DIR );
    }

    $plugin_path = wp_normalize_path( dirname( $file ) );
    $plugin_realpath = wp_normalize_path( dirname( realpath( $file ) ) );

    if ( $plugin_path === $wp_plugin_path || $plugin_path === $wpmu_plugin_path ) {
        return false;
    }

    if ( $plugin_path !== $plugin_realpath ) {
        $wp_plugin_paths[ $plugin_path ] = $plugin_realpath;
    }

    return true;
}

1 个回复
SO网友:majick

字符串由给定$plugin_path 用作的数组键$wp-plugin_paths, 这是设置数组的标准行为,以便以后可以访问它以检索$plugin_realpath 通过$wp_plugin_paths[$plugin_path].

如果你想看看结果如何,你可以:

add_action(\'init\',\'print_plugin_paths\');
function print_plugin_paths() {
    global $wp_plugin_paths;
    foreach ($wp_plugin_paths as $key => $value) {
        echo "Plugin Path: ".$key." - ";
        echo "Real Path: ".$value."<br>";
    }
}