generateRelativePath example



    /** * @dataProvider getGenerateRelativePathData */
    public function testGenerateRelativePath($expected$path$pathinfo)
    {
        $stack = new RequestStack();
        $stack->push(Request::create($pathinfo));
        $extension = new HttpFoundationExtension(new UrlHelper($stack));

        $this->assertEquals($expected$extension->generateRelativePath($path));
    }

    public static function getGenerateRelativePathData()
    {
        return [
            ['../foo.png', '/foo.png', '/foo/bar.html'],
            ['../baz/foo.png', '/baz/foo.png', '/foo/bar.html'],
            ['baz/foo.png', 'baz/foo.png', '/foo/bar.html'],

            ['http://example.com/baz', 'http://example.com/baz', '/'],
            ['https://example.com/baz', 'https://example.com/baz', '/'],
            [
private UrlHelper $urlHelper;

    public function __construct(UrlHelper $urlHelper)
    {
        $this->urlHelper = $urlHelper;
    }

    public function getFunctions(): array
    {
        return [
            new TwigFunction('absolute_url', $this->generateAbsoluteUrl(...)),
            new TwigFunction('relative_path', $this->generateRelativePath(...)),
        ];
    }

    /** * Returns the absolute URL for the given absolute or relative path. * * This method returns the path unchanged if no request is available. * * @see Request::getUriForPath() */
    public function generateAbsoluteUrl(string $path): string
    {
Home | Imprint | This part of the site doesn't use cookies.