gpt4 book ai didi

url - 从服务生成链接

转载 作者:行者123 更新时间:2023-12-03 10:55:22 25 4
gpt4 key购买 nike

如何从服务生成链接?我在我的服务中注入(inject)了“路由器”,但是生成的链接是 /view/42而不是 /app_dev.php/view/42 .我该如何解决这个问题?

我的代码是这样的:

services.yml

services:
myservice:
class: My\MyBundle\MyService
arguments: [ @router ]

我的服务.php
<?php

namespace My\MyBundle;

class MyService {

public function __construct($router) {

// of course, the die is an example
die($router->generate('BackoffUserBundle.Profile.edit'));
}
}

最佳答案

所以:你需要两件事。

首先,您必须对@router 有依赖(以获取 generate())。

其次,您必须将服务范围设置为“请求”(我错过了)。
http://symfony.com/doc/current/cookbook/service_container/scopes.html

您的 services.yml变成:

services:
myservice:
class: My\MyBundle\MyService
arguments: [ @router ]
scope: request

现在您可以使用@router 服务的生成器功能了!

关于 Symfony 3.x 的重要说明 : 作为 doc说,

The "container scopes" concept explained in this article has been deprecated in Symfony 2.8 and it will be removed in Symfony 3.0.

Use the request_stack service (introduced in Symfony 2.4) instead of the request service/scope and use the shared setting (introduced in Symfony 2.8) instead of the prototype scope (read more about shared services).

关于url - 从服务生成链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10057309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com