[TYPO3-german] Autoloader schlägt fehl.

Rainer Schleevoigt rainer.schleevoigt at uni-hamburg.de
Wed Jun 26 15:25:11 CEST 2019



On 26.06.19 15:16, Birgit wrote:
> Hallo Rainer,
> 
> was für eine Extension autoloader? Das ist im Core enthalten.
liegt im ext Verzeichnis. Eine Agentur hat uns das installiert und ich 
darf nun weitermachen ... Das Ganze basiert auf t3bootstrap.de

> Autoloader  legt in v.9.5.x seine Dateien mit den registrierten Classes an unter:
> 
> typo3conf/autoloader/
> autoload_classaliasmap.php
> autoload_classmap.php
> autoload_psr4.php
Unter typo3conf gibt es diese drei Dateien.
> 
> Da müssten die Angaben zu deiner Extension „automatisch“ drin stehen, wenn  derAutoloader refresht wurde.
Das habe ich im Installtool gemacht.

Was auffällt:
Unter /AdminTools/Extension/ kann ich es aus- und einschalten.
unter/AdminTools/Settings/Extension Configuration/
sehe ich es nicht.

> 
> Die Konvention ist:
> 
> extension_name/Classes/Controller/MyController.php

Bei mir im Extensionfolder:
Classes/Controller/SearchController.php

und so steht es: im ext_localconf:

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
     'Subugoe.' . $_EXTKEY,
     'Find', // PluginName
     [
         'Search' => 'index, detail, suggest',
     ],
     [
         'Search' => 'index, detail, suggest',
     ],
     \TYPO3\CMS\Extbase\Utility\ExtensionUtility::PLUGIN_TYPE_PLUGIN
);


> Im Controller ganz oben muss deklariert werden:
> 
> namespace VendorName\ExtensionName\Controller;
>
Dort steht:

namespace \Subugoe\Find\Controller;
> class MyController extends AbstracController {}
> 
und
class SearchController extends ActionController
> Name von class und Dateiname müssen übereinstimmen für Autoload und der Pfad muss stimmen.
> 

Wie eventuell schon erwähnt, lief die Extension in einer Vorgängerseite, 
die allerdings mit composer lief.

Danke für Deine Hilfe.

Viele Grüße

Rainer

> Viele Grüße
> Birgit
> 
> 
> 
>> Am 26.06.2019 um 14:31 schrieb Rainer Schleevoigt <rainer.schleevoigt at uni-hamburg.de>:
>>
>> Hallo Birgit,
>>
>> ich habe TYPO3 CMS 9.5.7
>>
>> On 26.06.19 14:26, Birgit wrote:
>>> Hallo Rainer,
>>> welche TYPO3 Version - und hast du die Extension deaktiviert und wieder aktiviert nach dem Hinzufügen des Controllers oder das Autoload-Refresh im Installtool bzw. Backend-Modul durchgeführt?
>>
>> ich habe einfach eine Zip-Datei ausgepackt und dann mit dem Extensionmanager das Ding aktiviert. Es gibt noch ca. 20 weitere Extensions in der Seite.
>>> Der Autoloader erkennt dann eigentlich automatisch die Classes in den Standardpfaden.
>>> Da musst du nichts extra einbinden.
>>> In TYPO3 9.x lege ich grundsätzlich für jede eigene Extension eine composer.json an.
>>> Kannst du dir z.B. in EXT:news ansehen.
>>> {
>>>      "name": „vendor/extension-name",
>>>      "type": "typo3-cms-extension",
>>>      "description": "",
>>>      "keywords": ["TYPO3 CMS"],
>>>      "version": "9.0.0",
>>>      "require": {
>>>          "typo3/cms-core": "^9.5"
>>>      },
>>>      "autoload": {
>>>          "psr-4": {
>>>              „Vendor\\ExtensionName\\": "Classes/"
>>>          }
>>>      }
>>> }
>> Ist bei mir auch so.
>>
>>
>>> In die emconf.php schreibe ich das nicht rein.
>>> Steht denn etwas in den Dateien unter typo3conf/autoload/ drin - und ist vielleicht nur ein Buchstabe falsch o.ä.?
>> es gibt eine Extension autoloader
>> Das mit den Typo habe ich schon überprüft
>>> Vendor überall richtig angegeben?
>> Was mich wundert: vendorName ist nirgens definiert, wird nur benutzt.
>>> Viele Grüße
>>> Birgit
>>>> Am 26.06.2019 um 13:41 schrieb Rainer Schleevoigt <rainer.schleevoigt at uni-hamburg.de>:
>>>>
>>>> Hallo Gemeinde,
>>>>
>>>> in meiner /ext_emconf.php/ "meiner" Extension steht:
>>>>
>>>> /'autoload' => [//
>>>> //        'psr-4' => [//
>>>> //            ['Subugoe\\Find\\' => 'Classes'],//
>>>> //        ],//
>>>> //   ],/
>>>>
>>>> In meinem Folder gibt es /Classes/Controller/SearchController.php/
>>>>
>>>>
>>>> Und dennoch wird, wenn ich eine Seite, die das Plugin enthält das geworfen:
>>>>
>>>> /Class Subugoe\Find\Controller\SearchController does not exist. Reflection failed./
>>>>
>>>> Was habe ich übersehen. Es ist ein klassisches, composerloses Projekt.
>>>>
>>>> So binde ich den Autoloader ein:
>>>>
>>>> /require_once \TYPO3\CMS\Core\Core\Environment::getPublicPath() . '/typo3_src/vendor/autoload.php';//
>>>> /
>>>>
>>>>
>>>> Was läuft schief? Was habe ich übersehen? Ich sitzte jetzt schon den zweiten Tag dran und sehe noch nichts ...
>>>>
>>>>
>>>> Gruss Rainer
>>>>
>>>>
>>>>
>>>> -- 
>>>> Dipl.-Ing. Rainer Schleevoigt
>>>> Staats- und Universitaetsbibliothek Hamburg Carl von Ossietzky
>>>> IT, Forschung und Entwicklung
>>>> „Hamburg Open Science“ DTO
>>>> Von-Melle-Park 3, 20146 Hamburg
>>>> Telefon (040) 428382590 | Fax (040) 41345070
>>>> Mail: rainer.schleevoigt at sub.uni-hamburg.de
>>>> http://www.sub.uni-hamburg.de
>>>>
>>>> _______________________________________________
>>>> TYPO3-german mailing list
>>>> TYPO3-german at lists.typo3.org
>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>> _______________________________________________
>>> TYPO3-german mailing list
>>> TYPO3-german at lists.typo3.org
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>
>> -- 
>> Dipl.-Ing. Rainer Schleevoigt
>> Staats- und Universitaetsbibliothek Hamburg Carl von Ossietzky
>> IT, Forschung und Entwicklung
>> „Hamburg Open Science“ DTO
>> Von-Melle-Park 3, 20146 Hamburg
>> Telefon (040) 428382590 | Fax (040) 41345070
>> Mail: rainer.schleevoigt at sub.uni-hamburg.de
>> http://www.sub.uni-hamburg.de
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> 
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> 

-- 
Dipl.-Ing. Rainer Schleevoigt
Staats- und Universitaetsbibliothek Hamburg Carl von Ossietzky
IT, Forschung und Entwicklung
„Hamburg Open Science“ DTO
Von-Melle-Park 3, 20146 Hamburg
Telefon (040) 428382590 | Fax (040) 41345070
Mail: rainer.schleevoigt at sub.uni-hamburg.de
http://www.sub.uni-hamburg.de


More information about the TYPO3-german mailing list