2017-11-03 1 views
0

Lektüre dieses http://api.symfony.com/3.2/Symfony/Component/Asset/Context/RequestStackContext.html Ich benutzeWie erhalten Sie den Basispfad mit der Symfony-Klasse RequestStackContext?

use Symfony\Component\Asset\Context\RequestStackContext; 
use Symfony\Component\HttpFoundation\RequestStack; 

$con = new RequestStackContext(new RequestStack); 
print($con->getBasePath()); 

Aber ich habe nichts noch Fehler, einfach leer. Was habe ich falsch gemacht?

EDIT:

Eigentlich mag ich es als dritter Parameter an PathPackage passieren, aber es gibt nichts zurück. Es sollte getBasePath zurückgeben, das sich in RequestStackContext befindet. Wie man es repariert? mein Code ist unten:

use Symfony\Component\Asset\Packages; 
use Symfony\Component\Asset\PackageInterface; 
use Symfony\Bridge\Twig\Extension\AssetExtension; 
use Symfony\Component\Asset\Package; 
use Symfony\Component\Asset\PathPackage; 
use Symfony\Component\Asset\UrlPackage; 
use Symfony\Component\Asset\VersionStrategy\EmptyVersionStrategy; 
use Symfony\Component\Asset\Context\RequestStackContext; 
use Symfony\Component\HttpFoundation\RequestStack; 


$versionStrategy = new EmptyVersionStrategy(); 
$namedPackages = array(
    'img' => new PathPackage('images', $versionStrategy, new RequestStackContext(new RequestStack())), 
); 
$defaultPackage = new Package($versionStrategy); 
$packages = new Packages($defaultPackage, $namedPackages); 
$twig->addExtension(new AssetExtension($packages)); 
+0

Was möchten Sie tun ? Gib ein Beispiel bitte. –

+0

Bitte lesen Sie "bearbeiten" Teil in meiner Frage. –

+0

Was ist diese Datei? Sie verwenden keine Controller? –

Antwort

0

Es ist leer, da Sie einen neuen RequestStack anstelle des von Symfony, in einer Steuerung versehen erstellen sollten Sie zum Beispiel tun:

public function indexAction(Request $r): Response 
{ 
    print($r->getBasePath()); 
    die(); 
}  
+0

Bitte lesen Sie "bearbeiten" Teil in meiner Frage. –

+0

Nein. Es ist kein Controller. –

Verwandte Themen