So rufen Sie eine Klasse in meine Erweiterung mit Autoload. Ich benutze typo3 7.6. Aus den Tutorials habe ich verstanden, dass dies für typo3 7.6 in der Datei ext_emconf.php gemacht werden kann. Wie schreibe ich das gleiche in ext_emconf.php ?? Meine Klassendatei befindet sich in Classes/class.x.php.Autoload-Funktion typo3 7.6
Antwort
Alle Klassen sind in einer Autoload-Funktion so lange automatisch registriert, wie Sie den Code Konventionen folgen: https://docs.typo3.org/typo3cms/ExtbaseFluidBook/a-CodingGuidelines/Index.html
class.x.php ist kein gültiger Dateiname für eine Klasse in Extbase
. Wenn Sie eine ClassX erstellen wollen, dann hat der Dateiname sein:
/your_extension/Classes/ClassX.php
<?php
namespace YourName\YourExtension;
class ClassX {
}
Beachten Sie, dass die Erweiterungsnamen auch in Uppercamelcase verwandelt. Für den Anbieter-Teil (YourName im Beispiel) können Sie alles auswählen, was in PHP gültig ist.
jetzt können Sie Sie Klasse zugreifen mit
$test = new \YourName\YourExtension\ClassX();
Ihre Erweiterung muss natürlich arbeiten installiert werden.
!!! Denken Sie daran, dass Typo3 den Autoload-Cache nur generiert, wenn Sie eine Erweiterung installieren/deinstallieren. Wenn Sie auf eine bereits installierte Erweiterung neue Dateien hinzufügen haben Sie diese Cache-Datei manuell zu löschen
/typo3temp/autoload/autoload_classmap.php
Um das automatische Laden von Klassen zu konfigurieren, dass kein Spiel die Standard tun Namensgebung Sie eine ext_autoload.php
in Ihrer Erweiterung zu schaffen. Innerhalb der Code sieht so aus:
<?php
return array(
'Tx_SomeExtension_Someclass' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('some_extension') . 'pi1/someclass.php',
);
Wenn Sie Typo3 7.x entwickeln, bedenken Sie, dass pibased veraltet ist und nur mit der Kompatibilität Erweiterung unterstützt, die eine Menge von Nachteilen in der Leistung bringt. Ich würde empfehlen, pibased Erweiterung nicht mehr zu verwenden.
- 1. Debugging in Typo3 7.6
- 2. TCA Sprachauswahl in TYPO3 7.6
- 3. TYPO3 7.6.x Klasse 'TYPO3 \ Flow \ Fehler \ Nachricht' nicht gefunden
- 4. Typo3 7.6 Flux Backend Layout Spaltentitel
- 5. TYPO3 7.6 tx_news und SHORTURL mit realurl
- 6. Autoload-Definition in ext_emconf.php für typo3 7.6
- 7. "Hoppla, ein Fehler ist aufgetreten! Code: 201601301501048 .." in TYPO3 7.6
- 8. TYPO3 7.6.x Erstellen eines verschlüsselten MD5-Passworts im TCA
- 9. erlaubt cTypes in backenlayouts/gridelements nicht mehr in TYPO3 7.6?
- 10. TSconfig Cache löschen Optionen in externen Datei funktioniert nicht in TYPO3 7.6.x
- 11. Typo3 7.6 Extbase-Repository-Abgleich wirkt sich nur auf nicht lokalisierte Datensätze aus
- 12. TYPO3 7.6 Backend-Suche (TCA Suchfelder) funktioniert nicht auf verwandter Tabelle
- 13. TYPO3 RTE p Tags fehlen im Frontend
- 14. MaximoAnwhere-7.6 Android Apps Entwicklung
- 15. Wie eine benutzerdefinierte CSS-Datei in TYPO3 enthalten
- 16. Leider wurde die angeforderte Ansicht nicht in TYPO3
- 17. Maximo Anywhere 7.6 - Standard-Apps stecken geblieben
- 18. Werte aus verschiedenen Tabellen in mein TYPO3 Extension Repository holen
- 19. Typo3 v. 4.3.3 Sprachdateien
- 20. Layout TYPO3-Extension Backend
- 21. TYPO3 URL Verarbeitungsreihenfolge
- 22. Typo3 - dynamisches Layout
- 23. typo3 styles.content.get nicht funktioniert
- 24. TYPO3 $ GLOBALS ['LANG']
- 25. TYPO3, Extbase, Paginate
- 26. TYPO3 Composer Abhängigkeitskonflikt
- 27. Typo3 kann nicht speichern
- 28. typo3 news Erweiterung mit (twb) twitter bootstrap Stile
- 29. typo3 site menu mit typoscript
- 30. Typo3 TCA Markierung thumb photo
Es war wirklich hilfreich. Aber ich bin etwas verwirrt darüber, wie man Autoload-Funktion in die Datei ext_emconf.php meiner Erweiterung schreibt. Von einem Tutorial habe ich festgestellt, dass, 'autoload' => Array ( 'Klassenmap' => Array ('Klassen') ), Autoload-Funktion muss in dieser Form geschrieben werden .. Aber was ist das classmap? Ist es mein Klassenname, ClassX? – Ques
Meine Erweiterung ist abhängig von drei anderen Erweiterungen, die in pibase sind. Also ist es meine Aufgabe, neue Klassen in diese zu entwickeln und diese Klassen in meine Extension zu nennen, die in extbase ist. Kannst du mir bitte Helfen ? – Ques
Ich habe meine Post mit einem Beispiel für eine Autoload-Datei aktualisiert –