如何根據包含各種函數定義的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()函數,並避免其他函數不包括在內?
如何根據包含各種函數定義的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