1

I am working on my own extension in TYPO3 (v 9.5.12) and when I click on my extension via Admin Tools, an error message pops up:

Error Message

The log reads following error message:

Core: Exception handler (WEB): Uncaught TYPO3 Exception: #1278450972: 
Class Secsign\Secsign\Controller\SecsignController does not exist. 
Reflection failed.
| TYPO3\CMS\Extbase\Reflection\Exception\UnknownClassException thrown in file 
C:\xampp\htdocs\Typo9\public\typo3\sysext\extbase\Classes\Reflection\ReflectionService.php 
in line 363. Requested URL: 
http://localhost/Typo9/public/typo3/index.php?route=%%2Ftools%%2FSecsignSecsignbe%%2F&token=--AnonymizedToken--

My composer.json file looks like this.

{
    "name": "secsign/secsign",
    "type": "typo3-cms-extension",
    "description": "This extension allows users to authenticate using their smart phone running the SecSign App.",
    "authors": [
        {
            "name": "SecSign Technologies Inc.",
            "role": "Developer"
        }
    ],
    "require": {
        "typo3/cms-core": "^9.5"
    },
    "autoload": {
        "psr-4": {
            "Secsign\\Secsign\\": "Classes/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Secsign\\Secsign\\Tests\\": "Tests/"
        }
    }
}

I do not understand the problem here. How can I get this to work?

2
  • 1. Do you run TYPO3 in composer mode? If so 2. Did you install the extension using composer (using a separate repo for this extension) or do you just have the files in typo3conf/ext? Commented Dec 17, 2019 at 15:04
  • running in composer mode. I just took the entire extension folder and moved it to typo3conf/ext Commented Dec 17, 2019 at 15:09

1 Answer 1

9

If you're working on the extension you probably didn't install it through composer. That means the extension's composer.json isn't loaded. You'll have to add the autoload information to your root composer.json (the one in C:\xampp\htdocs\Typo9) until your extension is done and installed through composer.

    "autoload": {
        "psr-4": {
            "Secsign\\Secsign\\": "public/typo3conf/ext/secsign/Classes/"
        }
    },

Check if the path I used in this example is correct in your case. Then you'll need to run composer dumpautoload.

Sign up to request clarification or add additional context in comments.

1 Comment

Perfect explanation. Thank you for the quick answer!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.