如何在PHP中使用require_once()或include()函数包含特定函数?
问题描述:
如何根据包含各种函数定义的php文件的需求包含特定的函数。如何在PHP中使用require_once()或include()函数包含特定函数?
例如,
PHP文件的functions.php包含3个函数a(),B()和c()
我必须使用require_once( '/ F /的functions.php')在other.php文件来使用函数c 。
我能做些什么只包括函数c在文件other.php文件使用require_once()函数,并避免其他函数不包括在内?
答
没有内置的方法来做到这一点。尽管如果你为这项运动做的话,还有很多方法可以解决它。
虽然这强烈不推荐。真的,只是不这样做...这里是如何:
1)阅读文件为文本。
2)发现功能块,并提取其
3)通过eval
运行它。
这将导致在该文件中设置的任何全局状态不被运行。你可能会或可能不想要。
SuperClosure做类似我相信连载关闭,默认情况下PHP不支持的东西。
人们可以充分利用PHP7 abstract syntax tree还包括相关的功能。例如,如果定义了三个函数 - A
,B
和C
。 A
内部使用B
。如果包含A
,则还需要包含B
。
这不会是不仅仅包括整个文件更好的性能,但随时证明我是错的基准。
您可能也有兴趣namespaces。类和函数都支持它。
如果包含其他功能(a和b),会出现什么问题? –
没问题,我只是想避免包含目前不需要的不必要的功能。 – xyz
@xyz没有内置的方法来做到这一点。任何黑客的开销都比仅包含函数的开销要高。 – Kaspars