2016-06-24 5 views
0

PHP에서 내 자신의 CMS를 작성하고 있으며 오류가 나타날 때 오류를로드하는 방법을 찾을 수 없습니다. 머리 후 머리 CMS 부하의 모든 자바 스크립트 & & CSS를 라이브러리에로드 모듈에서이다 나는 검사PHP가있는 오류 값만있는 페이지로드

(isset($opt['theme']) && $opt['theme'] != "" ? "" : exit("Please Map Load Theme")); 

의 종류가하지만이 코드의 간단한이다. 그래서 지금은 자바 스크립트 때문에 나는이 exit 에러 코드를 볼 수 없다. php는 내가로드 된 모든 데이터를 제거하고 오류가 발생할 때 출력 할 출력 만 표시 할 때 몇 가지 기능을 가지고 있습니다.

+0

전체 화면을 지우고 메시지 하나만 보여주고 싶습니다. 맞습니까? – M4R1KU

+0

이 코드가 실제로하는 일은 무엇입니까? – Phiter

+0

@ M4R1KU 예 정확히 – Dest

답변

0

CMS에 대한 정확한 답변을 드릴 수는 없지만 출력 버퍼링을 어떻게 사용할 수 있는지 알려 드릴 수 있습니다.

사이트 콘텐츠가있는 템플릿이있는 경우 (메뉴, 탐색 바 및 바닥 글 제외). 예를 들어 어디에서나 오류가 발생하면 템플리트를 오류 템플리트로 변경할 수 있습니다.

저는 이것을 내 프로젝트 중 하나에서 사용했습니다.

ob_start(); 
if (file_exists($this->template)) { 
    $this->_content = file_get_contents($this->template); 
} else { 
    $this->_content = file_get_contents('../path/to/error/template.php'); 
} 
include_once('../path/to/layout.php'); 
$this->body = ob_get_clean(); 

귀하의 문제에 대한 완벽한 대답은 아니지만 귀하가이 문제에 어떻게 대처할 수 있었을지 알고 싶습니다.

내 레이아웃 파일에 코드 "evals"이 포함 된 부분이 있습니다. 따라서 레이아웃 파일의 내용이 실행되고 머리글과 바닥 글이 포함 된 레이아웃 내부에 배치됩니다.

일부 MVC 프레임 워크를 살펴보십시오. 그들은 당신에게 좋은 접근을 줄 수 있습니다. 나는 CakePHP에 자신을 집중 시켰습니다.