TYPO3 不会自动加载 Classes 文件夹中的 PHP 文件

问题描述 投票:0回答:4

嗨,我几周前开始使用 TYPO3,我想在网站启动时运行我自己的 PHP 脚本。所以我将名为“Testfile.php”的 PHP 文件放入typo3conf/ext/myextension/Classes 文件夹中。我的代码:

namespace Example\MyExtension;


class Testfile
  {
       public function doStuff() {
       return 'I did stuff';
       }
  }

之后我将这个打字代码放入后端的页面中。

page = PAGE
page.10 = USER
page.10.userFunc = Example\MyExtension\Testfile->doStuff

刷新页面后,我希望收到文本“我做了一些事情”,但只得到了一个白屏。

你能解释一下我做错了什么吗?

php typo3 typoscript autoload
4个回答
1
投票

您是否在composer.json中声明了自动加载指令,并且您是否触发了

composer du
或其他会重新生成类加载器文件的内容?


0
投票

对于composer不需要的自己的扩展,您必须将扩展类的基础添加到根路径中composer.json的自动加载部分,例如

"autoload": {
    "psr-4": {
        Example\\MyExtension\\": "public/typo3conf/ext/my_extension/Classes",
    }
}

之后打电话

composer dumpautoload
就应该没问题了。


0
投票

你处于作曲家模式吗???

在 Composer 模式下,按照 Chris 的描述在 Composer.json 中添加自动加载部分应该可以工作,但是如果您在 Composer 模式下注意到,我不知道如何添加 php 代码,因为 includeLibs 已经消失了


0
投票

在你的作曲家中声明“自动加载”,然后运行

composer dumpautoload

祝你好运

© www.soinside.com 2019 - 2024. All rights reserved.