2013-08-09 13 views
11

Ich habe ein benutzerdefiniertes Composer-Paket erstellt, aber ich habe Probleme, die richtigen Autoload-Optionen dafür einzustellen.Composer Autoloader bsr-0 Namespaces

Alle meine Klassen sind unter MyNamespace/Common Namespace. Also zum Beispiel für die Einbeziehung meiner ArrayHelper Klasse verwende ich Mynamespace/Common/Helper/ArrayHelper.

Dies ist der relevante Teil meiner composer.json:

"autoload": { 
    "psr-0": { "MyNamespace\\": "" } 
} 

ich dies gelesen haben: composer.json/autoload

Jede Hilfe?

Antwort

13

Sie müssen durch den Speicherort Ihres Namespace navigieren.

"autoload": { 
    "psr-0": { "MyNameSpace": "./<path to your parent directory>" } 
} 

Zum Beispiel, das ist meine Verzeichnisstruktur:

composer.json 
source 
    \-Data 
    |-Controller 
    \-Repository 

Dann wird in der composer.json Datei:

"autoload": { 
    "psr-0": { "MyNameSpace": "source/Data" } 
} 

Dann habe ich den Namespace von PHP durch

aufrufen
+0

Meine Paketstruktur war symfony2 com ähnlich poenents also musste ich ein Zielverzeichnis wie folgt konfigurieren: http://getcomposer.org/doc/04-schema.md#target-dir – brpaz

+1

Namespace-Definitionen Delimiter sollte verwenden "\" nicht "/" – thenetimp

+6

Ist das PSR nicht -4? –

Verwandte Themen