我想在服务YAML中获得这样的顶级网址:
app.meal_list_service:
class: Acme\MealLogBundle\Service\MealListService
arguments: ['@app.entity_repository_meal',getBaseUrl()"]
我无法找到一个好的解决方案。我尝试从
获取网址 '%router.request_context.scheme%://%router.request_context.host%/'
但这只返回第一部分网址。
答案 0 :(得分:0)
编辑:
我的错误。我以为你想要根项目目录。 尝试在parameters.yml中定义项目根路径,并以类似于传递%kernel.root_dir%的方式传递它。
// in parameters.yml
my_project_path: https://stackoverflow.com
// in your service.yml
app.meal_list_service:
class: Acme\MealLogBundle\Service\MealListService
arguments:
- '@app.entity_repository_meal'
- '%my_project_path%'
答案 1 :(得分:0)
你可以这样做:
app.meal_list_service:
class: Acme\MealLogBundle\Service\MealListService
arguments: ['@app.entity_repository_meal', '%request_stack%']
在您的服务中:
$baseUrl = $requestStack->getCurrentRequest()->getSchemeAndHttpHost();
答案 2 :(得分:0)
您始终可以使用__ DIR __并从中创建路径。有时它比DI快,并将参数传递给服务。
看看这个,我在特质中使用它来创建图像上传路径。 https://gist.github.com/poznet/9d9b0a8b707a527fa56d9bb1fa1979ad