Hallo,
ich habe schon verschiedene Extensions für TYPO3 6.2 geschrieben und auch dort schon die Namespaces ohne Probleme verwendet.
Nun habe ich eine TYPO3 7.6 Composer Installation (also auch Extensions nur per Composer downloadbar). Seit TYPO3 7.3 wurde der normale Class Loader zugunsten von Composer entfernt. Das bedeutet, ich muss eine composer.json in meinem Extension Root-Verzeichnis haben. Selbst ohne die Extension aus einem Repository zu laden, sollte TYPO3 doch dann in der Lage sein diese Extension zu laden? Nur, findet es trotz "autoload"-Eintrag in der composer.json den Controller einfach nicht.
Liegt es daran, dass die Extension zwangsweise erst aus einem Repository geladen werden muss? Das halte ich für unwahrscheinlich. Aber wo ist dann mein Fehler?
Vielen Dank schon im voraus.
Bereits gelesene Infos:
composer.json
{
"name": "my-vendor/ext-key",
"description": "My description",
"type": "typo3-cms-extension",
"authors": [
{
"name": "Eisstern",
"email": "test@test.de"
}
],
"minimum-stability": "alpha",
"require": {},
"autoload": {
"psr-4": {
"MyVendor\\ExtKey\\" : "Classes"
}
}
}
Hallo,
ich habe das Problem leider immer noch nicht lösen können.
Braucht ihr noch zusätzliche Infos/Code zum Thema?
Hallo, ist zwar schon ne weile her, aber gibt es hier eine Lösung? Ich stehe vor dem gleichen Problem.
Das Problem hatte ich nun in Version 8.7 bei einer composer Installation .
Und die Lösung steht auch im bereits gelesenen Hinweis, https://wiki.typo3.org/Exception/CMS/1289386765.
{
"name": "my-vendor/my-typo3-cms-distribution",
"require": {
"typo3/cms": "7.x-dev"
},
"autoload": {
"psr-4": {
"MyVendor\\MySitePackage\\": "typo3conf/ext/my_site_package/Classes"
}
}
}
Der Pfad muss komplett eingegeben werden , in meinem Fall liegt die typo3 Installation noch in einem Unterordner und der Pfad :
"autoload": {
"psr-4": {
"MyVendor\\MySitePackage\\": "unterordner/typo3conf/ext/my_site_package/Classes"
}
}
Hallo zusammen!
Ich habe eine eigene Extension frisch erstellt.
Mein composer.json sieht so aus:
{
"name": "olek07/faker",
"description" : "Data Faker",
"version": "0.0.1",
"license": "GPL-2.0+",
"require": {
"typo3/cms": ">=6.2.0,<9.9.999"
},
"extra": {
"typo3/cms": {
"cms-package-dir": "{$vendor-dir}/typo3/cms",
"web-dir": "web"
}
},
"autoload": {
"psr-4": {
"Olek07\\Faker\\": "web/typo3conf/ext/faker/Classes/"
}
}
}
Aber wie sage ich dem composer, dass er composer.json der Ext überhaupt laden muss?
composer install, composer update sehen logischerweise das composer.json nicht.
In den autoload-Files steht keine Eintragung zu meiner Ext. Soll ich etwas im composer.json meiner typo3-Installation anpassen?