📅  最后修改于: 2023-12-03 15:00:32.718000             🧑  作者: Mango
在 Drupal 8 中,获取站点基本 URL 的方法与 Drupal 7 稍有不同。本文将为程序员提供一些基本的信息和方法。
在 Drupal 8 中获取站点基本 URL 的方法是使用 base_path()
函数。此函数返回站点的基本 URL。
$base_url = base_path();
其中 $base_url
就是站点的基本 URL。在代码中使用此 URL,可以确保可靠,并且同时还会防止 XSS 攻击。
除了基本 URL 外,Drupal 8 中也有很多其他 URL。例如,如果您想获取当前页面的完整 URL,则可以使用 current_path()
函数。
$current_url = \Drupal::service('path.current')->getPath();
其中 $current_url
是当前页面的完整 URL,包括基本 URL 和当前页面路径。在代码中使用此 URL 可以让您确保在获取其他 URL 时避免出现死循环。
在 Drupal 8 中,对于每个 URL 都要进行编码和解码操作。这是因为 URL 中可能包含非 ASCII 字符,例如中文字符和特殊字符。
$url = 'http://example.com/?query=value';
$escaped_url = \Drupal\Component\Utility\UrlHelper::filterBadProtocol($url);
$decoded_url = urldecode($escaped_url);
在上面的代码中,$escaped_url
是已经经过编码处理了的 URL。$decoded_url
是已经经过解码处理了的 URL。在代码中,如果需要使用 URL,则应该使用 $escaped_url
。
在 Drupal 8 中获取站点基本 URL 的方法是使用 base_path()
函数,此函数返回站点的基本 URL。在获取其他 URL 时,还需要考虑到 URL 的编码和解码问题。```