개발 꿀팁/PHP

php ob_start()를 이용하여 출력과 선택적 출력을 지웁니다

Jammie 2022. 7. 22. 16:55
반응형

1. 배경
패키징 방법을 호출했기 때문에 원래 필요하지 않은 반환 값이 있는 코드가 있습니다.이러한 반환값은 어떻게 처리해야 소멸할 수 있을까.어떤 사람들은 변수를 없애면 좋지 않겠느냐고 말한다.그러나 이 반환값이 청산되지 않는다면 어떻게 해야 하는가?

2.ob_start()
1.개념:

이 함수는 출력 버퍼를 엽니다.출력 버퍼가 활성화되면 스크립트는 내용(http 헤더 제외)을 출력하지 않고 출력해야 할 내용은 내부 버퍼에 저장한다.

내부 버퍼의 내용은 ob_get_contents() 함수를 사용하여 문자열 변수에 복사할 수 있습니다. 내부 버퍼에 저장된 내용을 출력하려면 ob_end_flush() 함수를 사용합니다.또한, ob 사용_end_clean() 함숫자는 버퍼의 내용을 조용히 버립니다

2. 버퍼의 기본 용법

//버퍼 열기
ob_start();
//버퍼의 내용 지우기
ob_clean();
//출력 버퍼 내용을 플러시(송출)하고 버퍼를 닫습니다
ob_end_flush();

3. 기본 테스트
1、

      echo '1';
      ob_start();
      echo '2';
      ob_clean();

결과: 1
설명: 이것은 가장 간단한 용법입니다. 그것은 출력하고 싶지 않은 컨텐츠의 외부에 ob_start(;)를 추가하고, 그 후에 버퍼의 컨텐츠를 제거함으로써 우리의 사용 장면을 실현합니다.우리는 선택적으로 출력할 수 있다.수출하고 싶지 않은 건 빼고.

2、

     echo '1';
    ob_start();
    echo '2';
    //출력 버퍼
    ob_end_flush();

결과: 12

3、

    //버퍼 열기
     ob_start();
    echo '1';
    //버퍼 클리어, 1 출력 안 함
    ob_clean();
    //버퍼를 출력합니다. 버퍼를 지웠기 때문에 1을( 를) 출력하지 않습니다
    ob_end_flush();
    echo '2';

결과: 2

4、

     ob_start();   //버퍼 열기
    echo '1';    
    $a = ob_get_contents();  //버퍼 내용을 $a로 출력하는 것은 $a에 값을 할당하는 것과 같다
    ob_clean();            //버퍼 내용 지우기
    echo '2';              //출력 2
    echo $a;               //$a 출력

결과: 21

해석:여기 ob_get_contents(;)는 버퍼를 획득하는 내용이다.우리는 취득한 내용을 하나의 변수에 할당할 수 있으며, 이렇게 하면 버퍼가 제거되고 우리가 변수를 출력해도 정상적으로 1을 출력할 수 있다.

사. 자주 쓰는 곳
본 서한숫자는 항상 페이지를 정적화합니다. 마이크로 웹 프레임을 구축하는 데 중요한 역할을 합니다. 렌더링된 페이지는 캐시를 입력함으로써 직접 파일에 쓰여집니다. 이렇게 하면 파일이 존재하는지 여부를 판단하여 사용자가 이번 접속을 다시 렌더링할 필요가 없습니다.한 페이지, 적용 가능대형 프로젝트에서는 렌더링된 페이지를 nosql로 저장합니다. 어떤 페이지를 좋아하느냐에 따라 사용 방법이 달라집니다.

위는 내가 직접 하는 거야.간단한 테스트입니다. php 매뉴얼과 대조하여 필요한 만큼 테스트해 보세요

 

반응형