Vous pouvez utiliser le templating.helper.assets
service.
Définissez d'abord votre URL de base des actifs :
# app/config/config.yml
framework:
templating:
assets_base_url: "http://www.mywebsite.com/"
Il suffit ensuite d'appeler le service à partir de votre contrôleur, de votre commande ou de tout autre endroit :
<?php
// src/Acme/Bundle/DemoBundle/Controller/DemoController.php
namespace Acme\Bundle\DemoBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class DemoController extends Controller
{
public function indexAction()
{
$myAssetUrl = $this
->get('templating.helper.assets')
->getUrl('bundles/acmedemo/js/main.js', $packageName = null)
;
// $myAssetUrl is "http://www.mywebsite.com/bundles/acmedemo/js/main.js"
return array();
}
}