簡體   English   中英

包括來自另一個文件的PHP函數

[英]Including PHP functions from another file

我想訪問另一個PHP文件中定義的一些函數,但該文件也輸出我不想顯示的內容。

有沒有辦法在不“運行”整個文件的情況下訪問這些功能? 也許通過將該文件的輸出重定向到隱藏的某個地方?

<?php
ob_start();
require 'filename.php';
ob_end_clean();
?>

你可能能夠使用輸出緩沖區和手動清除內容,但為什么不將常用功能移動到一個公共包含? 我通常將常見的輔助方法推入自己的文件中(不會輸出任何內容)。

涉及輸出緩沖的答案是正確的,但是你在相當基礎的層面上解決了錯誤的問題。

抓取那些有用的函數並將它們移動到另一個文件。 然后從您正在處理的文件和它們當前所在的文件中包含該文件。 一切正常,沒有輸出緩沖的奇怪黑客。

您可以使用ob_start()偷偷緩沖include的輸出,並使用ob_end_clean()將其刪除。 僅當腳本不刷新輸出緩沖區本身時,此方法才有效。

更好的方法是從include中提取所需的函數,並將它們放入一個單獨的文件中。

好吧,您可以使用輸出緩沖區捕獲文件的輸出,然后丟棄它。 但是,仍會發生任何其他全局副作用(全局變量集,文件寫入等)。 這將是更好的重構該文件的功能移動到自己包括,可include由兩編。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM