Lehre 2. Automatische Generierung von proxies

Habe ich ein komisches problem. Ich will das ausschalten der automatischen Generierung von meinen proxies in der Lehre 2. Ich fand diese Zeile des Codes, sollte das tun (und tut) der trick:

$config->setProxyDir(APPPATHSYSTEM."/proxies");
$config->setProxyNamespace('Proxies');

//Auto generate proxies for development
$config->setAutoGenerateProxyClasses(DEVELOPMENT);

Auf meiner Testumgebung die Proxys befinden sich auf Anwendung/proxies. also:

application/proxies/BaseUserProxy.php

Wenn ich auf die live-Umgebung mein code plötzlich sucht die Proxys bei Anwendung/proxies/Proxies, die nicht die tatsächliche Lage.

Verstehe ich, es hat etwas zu tun mit dem namespace, aber ich verstehe nicht, warum es verhält sich anders, wenn mit der setAutoGenerateProxy Methode.

Irgendwelche Ideen?

Bearbeiten

Habe ich generieren des neuen proxies über die:

orm:generate-proxies

option.

Gab mich in dieser Ausgabe:

php doctrine.php orm:generate-proxies
Processing entity "Base\Element"
Processing entity "Base\Page"
...
Processing entity "Base\Site"

Proxy classes generated to "/var/www/application/proxies"

Blick auf die Letzte Zeile, die proxies generiert werden, im /var/www/application/Proxys. Das directory-listing sieht wie folgt aus:

BaseElementProxy.php
BasePageProxy.php
...
BaseSiteProxy.php

So gibt es keine zusätzlichen Proxies-Verzeichnis. Aber wenn ich aktualisieren meine Webseite, es denkt, es ist, es gibt mir die folgende Fehlermeldung:

Warning: require(/var/www/application//proxies/Proxies/BaseUserProxy.php) 
[function.require]: failed to open stream: 
No such file or directory in /var/www/library/Doctrine/Common/ClassLoader.php on line 148

Warum ist der extra-Proxies Verzeichnis Hinzugefügt? Wenn ich generieren des Proxys auf jede Anforderung sieht es nicht in dem extra-Verzeichnis Proxies. Irgendjemand?

@Bryan M.: Das ist keine Lösung, sondern ein workaround. Außerdem, es funktioniert nicht. Bei der Generierung des Proxys, die Sie bei der Anwendung Ihrer Empfehlung generiert werden, in APPPATHSYSTEM und meine webapp wird versuchen, laden Sie Sie von APPPATHSYSTEM."Proxies". Das problem ist, dass das system sieht für die Stimmrechtsvertreter auf unterschiedlichen Standorten aus, wenn ich verwenden:

$config->setAutoGenerateProxyClasses(DEVELOPMENT);

Wenn ENTWICKLUNG wahr ist, es wird APPPATHSYSTEM. Wenn die ENTWICKLUNG auf false gesetzt wird, werden APPPATHSYSTEM."Proxies". Nur die Umschaltung der ENTWICKLUNG Konstanz bricht mir das Anwendung, was theoretisch nicht möglich sein sollte.

  • Versuchen Sie, die Proxy-Verzeichnis, um nur APPPATHSYSTEM. Es sollte abholen die 'Proxies' - namespace von dort.
Schreibe einen Kommentar