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

kb5ga3dv  于 2023-09-29  发布在  PHP
关注(0)|答案(4)|浏览(121)

嗨,我几周前开始使用TYPO 3,我想在网站启动时运行我自己的PHP脚本。所以我把我的PHP文件名为“Testfile.php”到typo 3conf/ext/myextension/Classes文件夹。我的代码:

namespace Example\MyExtension;

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

之后,我把这个typoscript代码到我的页面在后端。

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

在刷新我的页面后,我希望得到文本“我做了一些事情”,但只得到一个空白屏幕。
你能解释一下我做错了什么吗?

ltqd579y

ltqd579y1#

你是否在composer.json中声明了自动加载指令,是否触发了composer du或其他会重新生成类加载器文件的指令?

bn31dyow

bn31dyow2#

对于composer不需要的扩展,您必须将扩展类的基础添加到根路径中composer.json的autoload部分,例如。
"autoload": { "psr-4": { Example\\MyExtension\\": "public/typo3conf/ext/my_extension/Classes", } }
然后调用composer dumpautoload,你应该没事了。

4szc88ey

4szc88ey3#

你在 composer 模式吗???
在composer模式下,按照Chris上面描述的那样在composer.json中添加autoload部分应该可以工作,但是如果你是在composer模式下,我不知道你如何添加php代码,因为includeLibs已经消失了

mnemlml8

mnemlml84#

在composer中声明“autoload”,然后运行composer dumpautoload
古德勒克

相关问题