我目前正在开发一个在文本文件中处理XML的项目。我想提取内容,我想将它添加到表tt_content。我的问题是我应该把所有函数放在哪里(upload-file,extract-content,insert-tt_content)?
答案 0 :(得分:6)
实用程序用于不依赖于状态的静态功能。好例子是PathUtility
和StringUtility
。一旦你调用了一个函数,就可以完成任务,而不是进一步。
另一方面,服务可以处理状态,通常更复杂。您可以使用URL初始化某种DownloadService
,然后获取它,最后进行某种后期处理。核心示例是MarkerBasedTemplateService
。
根据经验,实用程序没有依赖关系,也没有调用其他(非静态)方法。服务更复杂,可能会调用其他服务。服务可能具有内部状态。
另外,请务必查看有关体系结构指南的核心文档:https://docs.typo3.org/typo3cms/CodingGuidelinesReference/latest/PhpArchitecture/ModelingCrossCuttingConcerns/StaticMethods/Index.html
答案 1 :(得分:0)
您可以将您的函数编写到UtilityClass或ServiceClass中,或者(我认为更好的方法)使用它们。按任务分组您的功能,例如StringUtility,FileUtility等。您的ServiceClass使用而不是所需的UtilityFunction。
所以你的功能很少,你可以一次又一次地使用它。例如,看看其他伟大的扩展名为tx_news,femanager等。