Предоставлено
Kévin Dunglas
в # 28875.

Компонент WebLink, представленный в Symfony 3.3, предоставляет инструменты для управления HTTP-заголовком Link, необходимым для Web Linking при использовании HTTP / 2 Server Push, а также Resource Hints. На практике это может значительно улучшить производительность ваших веб-приложений.

Чтобы упростить его использование, в Symfony 4.2 мы добавили новый addLink() ярлык для AbstractController. Например, вот как вы можете предварительно загрузить файл CSS (чтобы отправить его до того, как браузер запросит его):

// src/Controller/BlogController.php
namespace App\Controller;

use Fig\Link\GenericLinkProvider;
use Fig\Link\Link;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;

class BlogController extends AbstractController
{
    public function index(Request $request)
    {
        // BEFORE
        $linkProvider = $request->attributes->get('_links', new GenericLinkProvider());
        $request->attributes->set('_links', $linkProvider->withLink(new Link('preload', '/app.css')));

        // AFTER
        $this->addLink($request, new Link('preload', '/app.css'));

        return $this->render('...');
    }
}