我有一個函數列表,它運行一個相當深的例程,以確定從哪個post_id獲取其內容並將其輸出到網站的前端。確定函數是否有輸出的最佳方法?
當這個函數返回它的內容時,我希望它被包裝在一個html包裝器中。我希望這個html包裝只有在函數有返回輸出時才加載。
在例子中,我有以下...
public static function output_*() {
// my routines that check for content to output precede here
// if there IS content to output the output will end in echo $output;
// if there is NO content to output the output will end in return;
}
在充分的解釋,我有以下...
如果這些函數之一返回輸出我希望它被包裹在一個HTML,所以理論上是這樣的就是我試圖完成......
public static function begin_header_wrapper() {
// This only returns true if an output function below returns content,
// which for me is other than an empty return;
include(self::$begin_header_wrapper);
}
public static function output_above_header() {
// my routines that check for content to output precede here
// if there is content to return it will end in the following statement
// otherwise it will end in return;
include($begin_markup); // This is the BEGIN html wrapper for this specifc output
// It is, so let's get this option's post id number, extract its content,
// run any needed filters and output our user's selected content
$selected_content = get_post($this_option);
$extracted_content = kc_raw_content($selected_content);
$content = kc_do_shortcode($extracted_content);
echo $content;
include($end_markup); // This is the END html wrapper for this specifc output
}
public static function output_header() {
// the same routine as above but for the header output
}
public static function output_below_header() {
// the same routine as above but for the below header output
}
public static function end_header_wrapper() {
// This only returns true if an output function above returns content,
// which for me is other than an empty return;
include(self::$end_header_wrapper);
}
我現在知道了,時間提前如果其中一個輸出函數具有輸出,我不想確定兩次(一次在開始,一次在末尾),但應該有一種方法可以通過一次檢查來完成此操作,但是我想要開始這個兔子洞,並找出確定我的函數是否返回的最好方法。
或者如果有一個完全更好的方法來接近這個請全力以赴,大聲笑,讓我知道。
我在網上看了這篇文章和其他 @Find out if function has any output with php
所以最後,我只是想知道是否有更好的方式來處理這一點,什麼是真正的你想檢查的最佳途徑我的函數有一個輸出返回,所以我可以運行我的HTML包裝基於這些條件?
想ob_get_length是最好的方法嗎?當我查看ob的目的時,這個看起來最好,也是最簡單的,但想得到一些建議和反饋。或者,也許我可以檢查我的變量$content
是否被返回?謝謝。真的很感激它!
當我寫這我也能看到,也許到運行檢查少是我的輸出功能結合成一個output_header功能的最佳途徑。然後我可以檢查一次,而不是針對3種不同的功能。但我仍然想知道檢查函數返回和輸出與否的最佳方法。 - 謝謝!欣賞它。 –
這可能與你想要做的事情有關。只需捕獲函數的輸出並檢查它是否爲空。 – Rizier123
謝謝。 2件事。我想知道是否可以檢查我的變量$ content是否被返回,因爲如果它不是,那麼顯然沒有內容輸出,所以我運行我的html包裝器。那可能嗎?或者用你所說的,可以輸出緩衝在一個類內的一個函數之外打開嗎?這樣我可以在我的三個頭文件輸出之前打開它,並在之後關閉它,而不是在每個函數中打開和關閉它。我環顧四周,沒有看到任何說明或顯示這是否可以通過班級完成的具體內容? @ Rizier123 –