如何根据包含各种函数定义的php文件中的要求包含特定函数。
例如。
PHP文件 functions.php 包含3个函数a(),b()和c()
我必须在 other.php 文件中使用require_once(' /f/functions.php')来使用功能c。
我该怎么做才能使用require_once()函数在文件 other.php 文件中包含函数 c 并避免不包含其他函数?
答案 0 :(得分:1)
你不能,期间。 PHP没有任何类型的模块系统。要包含函数",您所能做的就是执行源代码文件(include
将要做什么),这将通过执行文件中的代码来定义这些附加函数,或者文件中的任何其他内容。您无法有选择地仅选择要运行的代码的某些部分。
答案 1 :(得分:1)
没有内置方法可以做到这一点。虽然如果你为这项运动做的话,有很多方法可以解决这个问题。
虽然非常不推荐。真的,只是不这样做......这是如何:
1)以文本形式阅读文件。
2)找到功能块并将其解压缩
3)通过eval
运行它。
这将导致无法运行文件中设置的任何全局状态。您可能想要或不想要的。
SuperClosure执行类似我认为序列化闭包的操作,默认情况下php不支持。
可以利用PHP7 abstract syntax tree来包含相关功能。例如,如果定义了三个函数 - A
,B
和C
。 A
在内部使用B
。如果您加入A
,则还需要包含B
。
这不仅仅包括整个文件的性能更高,但可以随意用基准测试来证明我的错误。
您可能对namespaces感兴趣。类和函数都支持它。