为什么 UrlGenerator 在 Silex 中生成没有主机和方案的路径?

Why UrlGenerator generate path without host and scheme in Silex?

我尝试在 Silex 中使用 UrlGenerator 生成 url 但似乎 UrlGenerator 只生成 $_SERVER['REQUEST_URI'] 的内容而没有 http://localhost 。所以我有 /silex/rest-blog/web/blog/posts 而不是 http://localhost/silex/rest-blog/web/blog/posts。你知道为什么吗?

我的代码:

$app['url_generator']->generate('blog.posts.index');

要生成绝对值 URL,您必须这样做:

$app['url_generator']->generate('blog.posts.index', [], UrlGeneratorInterface::ABSOLUTE_URL);

@raphaël-malié 提出的解决方案不适用于我 (Silex 1.3)

通过 UrlGenerator 文档挖掘,我得出了以下解决方案:

$url = $app["url_generator"]->generate("blog.posts.index", array(), $app["url_generator"]::ABSOLUTE_URL);