2016-12-28 97 views
1

我想在服務YAML頂部URL是這樣的:symfony的3獲取基礎URL

app.meal_list_service: 
    class: Acme\MealLogBundle\Service\MealListService 
    arguments: ['@app.entity_repository_meal',getBaseUrl()"] 

我不能找到這個一個很好的解決方案。我試圖從

'%router.request_context.scheme%://%router.request_context.host%/'

獲取URL但這僅返回第一部分URL。

+0

示例:%kernel.root_dir%/ config/routing.yml –

回答

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%' 
0

你可以這樣做:

app.meal_list_service: 
    class: Acme\MealLogBundle\Service\MealListService 
    arguments: ['@app.entity_repository_meal', '%request_stack%'] 

而在你的服務:

$baseUrl = $requestStack->getCurrentRequest()->getSchemeAndHttpHost();