.. include:: /Includes.rst.txt ========================== TYPO3 Exception 1289386765 ========================== .. include:: /If-you-encounter-this-exception.rst.txt Could not analyse class: "..." maybe not loaded or no autoloader? ================================================================= Message: :: Oops, an error occurred! Could not analyse class: Vendor\Extension\Controller\SomeController maybe not loaded or no autoloader? More information regarding this error might be available online. General ======= - The class cache in TYPO3 7.6 does not get cleared when pressing the "Clear System Cache" button, so you have to empty ``typo3temp/*`` yourself to get around this issue: :: $ rm -rf typo3temp/* - The errorHandler turns E_STRICT into exceptions. This can break the autoloading in some TYPO3 versions (ie. 6.2.30). Excluding E_STRICT errors can help. If you got the error while migrating your extension to use namespaces ===================================================================== If you're migrating to namespaces, you need to put the vendor name inside your \**ext_localconf.php*\* and your \**ext_tables.php**, otherwise extbase tries to look up names in the old fashioned way. :file:`ext_localconf.php` :: // Wrong TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( $_EXTKEY, 'Plugin', array('Controller' => 'action') ); // Correct in older TYPO3 versions: TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( 'MyVendorName.' . $_EXTKEY, 'Plugin', array('Controller' => 'action') ); // Correct in newer TYPO3 versions: TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( 'MyExtension', 'Plugin', [\MyVendor\MyExtensionName\Controlle\MyPluginController::class => 'action'] ); :file:`ext_tables.php` :: // Wrong \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin( $_EXTKEY, 'Plugin', 'PluginTitle', );; // Right \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin( 'MyVendorName.' . $_EXTKEY, 'Plugin', 'PluginTitle', ); More here: `Extbase Reference `__ Error message concerning Fluid View Helper ========================================== :: #1289386765: Could not analyse class:TYPO3\CMS\Fluid\ViewHelpers\Form\TextViewHelper maybe not loaded or no autoloader? solutions --------- - it could be, that you have misspelled the name of the viewhelper, for example :: " to :: - also check if the extension itself is loaded - The `RenderFlashMessagesViewHelper` was deprecated for a long time and finally removed in 6.0. So, please use `FlashMessagesViewHelper` instead: :: becomes :: - You must also check the Fluid template for upper and lower case writing. For example `f:link.typoLink`... will throw an exception because the class cannot be found. But this will occur only on case-sensitive file systems. Solution: change `f:link.typoLink` to `f:link.typolink` error message concerning DamViewHelper (from ext:news) ====================================================== I got this error while updating ext:news from 2.3.1 to 3.0.1 after an TYPO3 upgrade from 6.1.12 to 6.2.6 :: #1289386765: Could not analyse class:Tx_News_ViewHelpers_Format_DamViewHelper maybe not loaded or no autoloader? Solution -------- so the viewhelper format.dam got removed news 3.0.1 has other HTML-templates than 2.3.1 as the copied and individualized templates stayed through the upgrade calls to the old viewhelper stay in place and throw an error with the new version. Solution: clean up your copied templates Error in own extension ====================== If you got the error using your own extension: Maybe your extension name uses underscores. If your extension is named my_extension: :: //wrong /** * Misc Functions * * @var \Myvendor\Myextension\Utility\Div * @inject */ protected $div; //right /** * Misc Functions * * @var \Myvendor\MyExtension\Utility\Div * @inject */ protected $div; In your own extension: If you add the namespace after the extension had already been installed, intensive clearing of caches is needed. May even be needed to empty typo3temp. If you got the error while in composer mode =========================================== And you are adding your own extension or added some extension without composer. Then you must either load the extension with composer or handle the class loading with your composer.json: :: { "name": "my-vendor/my-typo3-cms-distribution", "require": { "typo3/cms": "7.x-dev" }, "autoload": { "psr-4": { "MyVendor\\MySitePackage\\": "typo3conf/ext/my_site_package/Classes" } } } Note if your installation "web-dir" in composer.json is "Web": :: ... "psr-4": { "MyVendor\\MySitePackage\\": "Web/typo3conf/ext/my_site_package/Classes" } ... If you got the error while updating from TYPO3 4.x to 6.2 ========================================================= Then your migration process was broken. For me it helped to redo it entirely and uninstall "extension news" completely (without deleting files) and updating it after the upgrade. The error message provided here doesn't tell you where exactly the issue occurs because you only see the result of a problem at a very later stage that some classes could not be loaded. The root cause is a broken autoload-process that unfortunately doesn't create any errors. If you got the error while adding a new namespace in TYPO3 7.4.0 or 7.5.0 ========================================================================= Adding a new file with namespace in v7.4.0 or v7.5.0 can trigger this error. In my case it happens to be a weird caching issue. Actually hitting the "Clear cache" button in the install tool should solve that, but somehow that alone won't work. Solution -------- :: - Go to the Extension Manager and uninstall your extension - Go to the Install Tool and hit the 'Clear cache' button. On the same page hit the 'Clear PHP opcode cache' button - Go back to the Extension Manager and reinstall your extension If you got the error while updating FluidTYPO3 ============================================== If you upgrade old versions of flux/fluidpages and get this error, then you'll need to switch to proper namespaces (legacy namespaces got removed in version 7.2.0, see Changelog → https://github.com/FluidTYPO3/flux/blob/7.2.0/CHANGELOG.md) Examples: - In PHP Code ``Tx_Fluidpages_Controller_PageController`` to ``\FluidTYPO3\Fluidpages\Controller\PageController`` - In ViewHelpers ``{namespace v=Tx_Vhs_ViewHelpers}`` to ``{namespace v=FluidTYPO3\Vhs\ViewHelpers}`` - In TypoScript (if not loaded automatically) :: 5 = USER 5.userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run 5.extensionName = Fluidpages ### the following line is new and required: 5.vendorName = FluidTYPO3 5.pluginName = Page If you got the error with EXT:fluidcontent_bootstrap ==================================================== *Could not analyse class:Tx_Vhs_ViewHelpers_Extension_Path_ResourcesViewHelper maybe not loaded or no autoloader?* The extension throws this error after updating https://extensions.typo3.org/extension/vhs/ to v2.4.0 (which is the last version to work with TYPO3 6.2). The extension fluidcontent_bootstrap itself isn't 7.6 compatible. So either replace it or fix the problematic places and set the extension to ``excludeFromUpdates``. - fluidcontent_bootstrap/Resources/Private/Templates/Content/Accordion.html - fluidcontent_bootstrap/Resources/Private/Templates/Content/Alert.html - fluidcontent_bootstrap/Resources/Private/Templates/Content/ButtonGroup.html - fluidcontent_bootstrap/Resources/Private/Templates/Content/ButtonLink.html - fluidcontent_bootstrap/Resources/Private/Templates/Content/Carousel.html - fluidcontent_bootstrap/Resources/Private/Templates/Content/Jumbotron.html - fluidcontent_bootstrap/Resources/Private/Templates/Content/NavigationList.html - fluidcontent_bootstrap/Resources/Private/Templates/Content/PageHeader.html - fluidcontent_bootstrap/Resources/Private/Templates/Content/Row.html - fluidcontent_bootstrap/Resources/Private/Templates/Content/Tabs.html - fluidcontent_bootstrap/Resources/Private/Templates/Content/Thumbnails.html - fluidcontent_bootstrap/Resources/Private/Templates/Content/Well.html A more elegant way could be to change the template path to ``fileadmin`` and copy the resources (and alter only these files). If you got the error with Flux ============================== Error: :: Could not analyse class: "FluidTYPO3\Flux\ViewHelpers\Widget\GridViewHelper" maybe not loaded or no autoloader? Class FluidTYPO3\Flux\ViewHelpers\Widget\GridViewHelper does not exist Reason: :: > https://github.com/FluidTYPO3/flux/commit/3b65374429f579a39ece2d23568abb12ae110b29 > DEPRECATED > - * Grid Widget for rendering a grid in previews of BE elements > New behaviour: > Renders a Grid as content element container in the page module if your template defines one, regardless of whether or not you have a Preview section (https://fluidtypo3.org/blog/news/coming-changes-in-flux-72.html) Fix: Just remove ```` completely. if you got this error while updating via git ============================================ - If you update your installation via git it is possible that Class caches are not up to date - The caches will not be cleared in BE neither in install tool - To clear the caches uninstall and re-install the extension - Alternatively use terminal: :bash:`typo3/cli_dispatch.phpsh extbase extension:dumpclassloadinginformation`