在我的TYPO3 Extbase扩展中,我广泛使用其他扩展的服务。提供这种外部服务的所有变量都通过注入填充。
问题是:如果目标扩展(或服务文件)不存在,会发生什么?我的变量的值为NULL
,PHP会在非对象上抛出异常函数调用。
使用外部功能使用require_once
指令保护此类文件不是更好吗?
答案 0 :(得分:4)
确保安装其他扩展程序的正确方法是将其标记为" required"在ext_emconf.php
中(也可能在composer.json
中,不确定)。
这将确保所需的扩展存在 - 但并不是这些扩展中仍然存在所需的服务。可以在以后的版本中删除或重命名它们。为规避这一点,您可以要求特定版本的扩展,也可以尝试仅使用其公共API。