Funkcja PHP OB_START

Funkcja PHP OB_START
OB_START () to wbudowana funkcja PHP, aby umożliwić buforowanie wyjściowe. Jeśli buforowanie wyjściowe jest włączone, wszystkie wyjście zostaną przechowywane w buforze wewnętrznym i żadne wyjście z skryptu nie zostanie wysłane do przeglądarki. Niektóre inne wbudowane funkcje są używane z funkcją OB_START (). Funkcja OB_Get_Content () służy do przechowywania zawartości bufora wewnętrznego w zmiennej.

Funkcja OB_END_FLUSH () służy do drukowania zawartości bufora wewnętrznego. Funkcja OB_END_CLEAN () służy do czyszczenia zawartości bufora wewnętrznego. Zastosowania funkcji OB_START () w PHP pokazano w tym samouczku.

Składnia:

Wszystkie argumenty funkcji OB_START () są opcjonalne i mogą wziąć trzy argumenty. Składnia tej funkcji podano poniżej.

Bool OB_START (Callable $ callback = null, int $ chunk_size = 0, int $ flags = php_output_handler_stdflags)
  • Pierwszy opcjonalny argument przyjmuje nazwę funkcji wywołania zwrotnego, aby zmodyfikować zawartość bufora przed wysłaniem do wyjścia.
  • Druga wartość opcjonalna służy do ustawienia rozmiaru bufora, a domyślna wartość tego argumentu wynosi 0.
  • Trzeci opcjonalny argument służy do ustawienia maski bitowej, który określa, które operacje są dozwolone, a które nie są dozwolone. Domyślną wartością tego argumentu jest php_output_handler_stdflags, który wskazuje, że funkcje OB_FLUSH (), ob_clean (), ob_get_flush (), ob_end_flush () i ob_end_clean ().
  • Wraca PRAWDA W odniesieniu do sukcesu i zwrotów FAŁSZ w sprawie porażki.

Różne zastosowania funkcji OB_START ()

Zastosowania funkcji OB_START () z innymi funkcjami związanymi z buforem zostały wyjaśnione w tej części samouczka.

Przykład-1: użycie funkcji OB_START () bez żadnego argumentu

Utwórz plik PHP z następującym skryptem, aby poznać funkcję OB_START () bez żadnego argumentu. Dwie wartości ciągów zostały wysłane do bufora po wywołaniu funkcji OB_START (). Funkcja OB_END_CLEAN () została wywołana w skrypcie, aby wyczyścić bufor po wywołaniu funkcji OB_START (). W tym celu pierwszy ciąg zostanie usunięty z bufora, a drugi ciąg zostanie wydrukowany na wyjściu.

// Call OB_START () Funkcja po raz pierwszy
OB_START ();
// Wydrukuj wartość ciągu
Echo „Testowanie wartości ciągu 1
";
// Wyczyść bufor
OB_END_CLEAN ();
// Call OB_START () Funkcja po raz drugi
OB_START ();
// Wydrukuj wartość ciągu
Echo „Testowanie wartości ciągów 2
";
?>

Wyjście:

Po wykonaniu powyższego skryptu pojawi się następujące dane wyjściowe.

Przykład-2: Użyj funkcji OB_START () z funkcją wywołania zwrotnego

Utwórz plik PHP z następującym skryptem, aby poznać użycie funkcji OB_START () z funkcją wywołania zwrotnego. Zmienna ciągu jest zadeklarowana w skrypcie. Funkcja callback () została zadeklarowana w celu zastąpienia określonej części zmiennej łańcuchowej przed wypłukaniem wyjścia z bufora. Funkcja OB_START () jest wywoływana z pierwszym argumentem, który wywoła funkcję callback () i zwróci zmodyfikowany ciąg do bufora. Następnie funkcja OB_END_FLUSH () używała do przepłukania zawartości bufora do przeglądarki.

// deklaruj zmienną ciągu
$ str = "Lubię programowanie PHP.
";
Echo "Oryginalny ciąg: $ str ”;
// Zdefiniuj funkcję wywołania zwrotnego
Funkcja Callback ($ Buffer)

// Wymień słowo „php” na „python”
return (str_replace („php”, „Python”, $ buffer));

Echo "Wymieniony ciąg:";
// wywołać funkcję OB_START () z funkcją wywołania zwrotnego
OB_START („Callback”);
echo $ str;
// Wydrukuj zawartość bufora wewnętrznego
ob_end_flush ();
?>

Wyjście:

Po wykonaniu powyższego skryptu pojawi się następujące dane wyjściowe. Zgodnie z wyjściem słowo „php” z łańcucha zostało zastąpione słowem „Python”. Ciąg ”Lubię programowanie PHP„przekonwertował na ciąg”Lubię programowanie Pythona„przez funkcję callback ().

Przykład-3: Użyj funkcji OB_START () o wartości maski bitowej

Wcześniej wspomniano, że domyślną wartością maski bitowej funkcji OB_START () jest php_output_handler_stdflags. Ta funkcja ma wiele innych wartości maski bitowej.

W tym przykładzie pokazano zastosowania php_output_handler_cleanable i php_output_handler_flushable bitmasks.

Nie zdefiniowano tutaj funkcji OB_START (), a rozmiar bufora został ustawiony na 0. Funkcja OB_CLEAN () usunie zawartość z bufora. Więc pierwsze wyjście nie zostanie wydrukowane w przeglądarce.

// deklaruj funkcję za pomocą flagi php_output_handler_cleanable
OB_START (NULL, 0, php_output_handler_cleanable);
Echo „Wskazówka Linux
";
// Wyczyść bufor
OB_CLEAN ();
// deklaruj funkcję za pomocą flagi php_output_handler_flushable
OB_START (NULL, 0, php_output_handler_flushable);
Echo „Welcome to Linuxhint”;
?>

Wyjście:

Po wykonaniu powyższego skryptu pojawi się następujące dane wyjściowe. Zgodnie z wyjściem druga wyjście z bufora została wydrukowana.

Przykład-4: Użyj funkcji OB_START () z funkcją OB_Get_Contents ()

Utwórz plik PHP z następującym skryptem, aby poznać funkcję OB_START () z funkcją wywołania zwrotnego i funkcją OB_Get_Contents (). Funkcja Convert_Upper () używała jako funkcja wywołania zwrotnego funkcji OB_START (). Celem tej funkcji jest konwersja zawartości bufora na wielką część. Do bufora wysłano trzy wartości, a wyjście OB_Get_Contents () zostały zapisane w trzy zmienne. Gdy funkcja OB_END_FLUSH () zostanie wykonana, zmodyfikowana zawartość bufora zostanie wydrukowana w przeglądarce. Funkcja var_dump () będzie głupia ta zawartość trzech zmiennych.

// Zdefiniuj funkcję wywołania zwrotnego
funkcja konwert_upper ($ buffer)

// Zatrzymaj ciąg w górnej części
return (StrToupper ($ buffer));

// Call on_start () z funkcją wywołania zwrotnego
OB_START („CONWERT_UPPER”);
// ciąg zostanie przekonwertowany na wielki poziom
Echo „Adnan”;
$ var1 = ob_get_contents ();
echo „Sakib”;
$ var2 = ob_get_contents ();
echo „Mostafizur”;
$ var3 = ob_get_contents ();
// Wydrukuj konwertowany ciąg
ob_end_flush ();
Echo "
";
// Wydrukuj wartości zrzutu zmiennej
var_dump ($ var1, $ var2, $ var3);
?>

Wyjście:

Po wykonaniu powyższego skryptu pojawi się następujące dane wyjściowe. Zgodnie z wyjściem, trzy wartościowe wartości przekonwertowały na wielkie litery, a zawartość trzech zmiennych nie przekonwertowała na literę wielkimi.

Wniosek

Funkcja OB_START () jest używana w skrypcie, gdy jest wymagana do przechowywania danych w buforze w dowolnym celu przed wydrukowaniem w wyjściu. Użycie funkcji OB_START () z innymi powiązanymi funkcjami zostało wyjaśnione w tym samouczku z wieloma przykładami pomagania użytkownikom PHP w poznaniu tej funkcji.