【发布时间】:2020-08-26 21:58:10
【问题描述】:
我已经开发了几个作曲家模块,并已成功发布到 packagist。
所有这些都是完全基于类的,我知道自动加载过程是如何为它们工作的 - 如果多个项目使用我的 packagegist 模块,它们只会被包含一次。
对文件也一样吗?
我想为“缺失”的 WordPress 功能(即我在所有项目中经常使用的功能)开发一个 packageagist 模块。
如果多个项目包含该 packagegist 模块,我会收到关于同一命名空间中同一函数的多个定义的错误吗?
澄清。
我正在创建一个作曲家模块 sgi/wp-utils。它不会有课。它只会包含文件。像这样
{
"autoload": {
"files": [
"src/Assets/functions.php",
"src/Posts/functions.php"
]
}
}
它将用于定义我计划在许多项目(插件、主题)中使用的实用功能。
如果多个插件/主题使用同一个包,composer 是否会在每个 WP 安装时只加载一次文件,或者我需要使用 function_exists() 调用来包装函数?
【问题讨论】:
-
“文件”究竟是什么意思?所有 PHP 类都存储在文件中
标签: php composer-php packagist