修改新代码以支持 PHP5.3
Modifying new code to support PHP5.3
我正在使用 Roots.io wordpress 入门主题。它编码为 PHP 5.5,但我发布网站的服务器是 运行 PHP 5.3
我需要更改此代码以供服务器上的 PHP 支持,但不知道如何做。
function asset_path($filename) {
$dist_path = get_template_directory_uri() . DIST_DIR;
$directory = dirname($filename) . '/';
$file = basename($filename);
static $manifest;
if (empty($manifest)) {
$manifest_path = get_template_directory() . DIST_DIR . 'assets.json';
$manifest = new JsonManifest($manifest_path);
}
if (WP_ENV !== 'development' && array_key_exists($file, $manifest->get())) {
return $dist_path . $directory . $manifest->get()[$file];
} else {
return $dist_path . $directory . $file;
}
}
问题出在这一行:
return $dist_path . $directory . $manifest->get()[$file];
[$file]
令人困惑 PHP 我想但不知道如何修改它。有小费吗?如果需要更多代码,请告诉我。
您需要将 return 拆分为从方法调用中请求索引,我认为在 5.4 中开始得到支持。
尝试拆分。
$val = $manifest->get();
return $dist_path . $directory . $val[$file];
作为参考,这称为数组解除引用。您可以找到有关它的更多信息 here。
我正在使用 Roots.io wordpress 入门主题。它编码为 PHP 5.5,但我发布网站的服务器是 运行 PHP 5.3
我需要更改此代码以供服务器上的 PHP 支持,但不知道如何做。
function asset_path($filename) {
$dist_path = get_template_directory_uri() . DIST_DIR;
$directory = dirname($filename) . '/';
$file = basename($filename);
static $manifest;
if (empty($manifest)) {
$manifest_path = get_template_directory() . DIST_DIR . 'assets.json';
$manifest = new JsonManifest($manifest_path);
}
if (WP_ENV !== 'development' && array_key_exists($file, $manifest->get())) {
return $dist_path . $directory . $manifest->get()[$file];
} else {
return $dist_path . $directory . $file;
}
}
问题出在这一行:
return $dist_path . $directory . $manifest->get()[$file];
[$file]
令人困惑 PHP 我想但不知道如何修改它。有小费吗?如果需要更多代码,请告诉我。
您需要将 return 拆分为从方法调用中请求索引,我认为在 5.4 中开始得到支持。
尝试拆分。
$val = $manifest->get();
return $dist_path . $directory . $val[$file];
作为参考,这称为数组解除引用。您可以找到有关它的更多信息 here。