> 백엔드 개발 > PHP 튜토리얼 > yii CWebLogRoute를 사용하여 변수를 기록하고 디버그하는 방법 경로 삭제 경로 추가 기본 gw Linux 경로 광고

yii CWebLogRoute를 사용하여 변수를 기록하고 디버그하는 방법 경로 삭제 경로 추가 기본 gw Linux 경로 광고

WBOY
풀어 주다: 2016-07-29 08:48:34
원래의
1338명이 탐색했습니다.

소개

나는 외부 라이브러리를 사용하여 PHP 코드(예: firePHP)를 디버깅하는 방법에 대한 여러 기사를 읽었습니다. 이 기사를 읽고 나면 Yii에서 이러한 외부 라이브러리를 사용할 필요가 없다는 것을 알게 될 것입니다.
Yii에는 강력한 로깅 클래스가 내장되어 있습니다. 로깅 문서를 읽으면 어떤 로그를 기록할지 결정할 수 있다는 것을 알 수 있습니다. 이것이 정확히 우리가 할 일입니다. CWebLogRoute를 사용하여 Yii 버전의 FirePHP를 생성하는 것입니다.

구성

protected/config/main.php 구성 파일에 구성 추가:

<code><span>'log'</span>=><span>array</span>(
    <span>'class'</span>=><span>'CLogRouter'</span>,
    <span>'routes'</span>=><span>array</span>(
        <span>array</span>(
            <span>'class'</span>=><span>'CWebLogRoute'</span>,
            <span>//</span><span>// I include *trace* for the</span><span>// sake of the example, you can include</span><span>//</span><span>// more levels separated by commas</span><span>'levels'</span>=><span>'trace'</span>, 
            <span>//</span><span>// I include *vardump* but you</span><span>// can include more separated by commas</span><span>'categories'</span>=><span>'application.*,system.db.*,vardump'</span>, 
            <span>//</span><span>// This is self-explanatory right?</span><span>'showInFireBug'</span>=><span>true</span> ), 
        ),
),</code>
로그인 후 복사

사용 준비, 이제 추적해 보겠습니다. 테스트해 보겠습니다. 변수는 다음과 같습니다:

<code><span>public</span><span><span>function</span><span>actionTrace</span><span>()</span>{</span><span>$test</span> = <span>'This is a test'</span>;

    <span>$anotherTest</span> = <span>array</span>(<span>'one'</span>,<span>'two'</span>,<span>'three'</span>);

    <span>echo</span> Yii::trace(CVarDumper::dumpAsString(<span>$test</span>),<span>'vardump'</span>);

    <span>echo</span> Yii::trace(CVarDumper::dumpAsString(<span>$anotherTest</span>),<span>'vardump'</span>);

    <span>echo</span> Yii::trace(CVarDumper::dumpAsString(<span>$this</span>),<span>'vardump'</span>);
}</code>
로그인 후 복사

Yii의 FirePHP 함수

위 코드는 작성하기에 비교적 길기 때문에 강력한 제안을 사용하고 index.php 페이지에 추가하겠습니다. FirePHP와 같은 기능:

<code><span>public</span><span><span>function</span><span>actionTrace</span><span>()</span>
{</span><span>//</span><span>// In your index.php or your globals.php file</span><span><span>function</span><span>fb</span><span>(<span>$what</span>)</span>
    {</span><span>echo</span> Yii::trace(CVarDumper::dumpAsString(<span>$what</span>), <span>'vardump'</span>);
    }

    <span>// </span><span>// using the above examples now we could</span><span>$test</span> = <span>'This is a test'</span>;

    fb(<span>$test</span>);
}</code>
로그인 후 복사

좋아요, 모든 것이 완료되었습니다. 우리 디버거에서는 외부 클래스가 사용되지 않습니다.

추가

이 방법은 chromephp Plug-를 설치할 필요가 없습니다. 에서는 Firebug 브라우저를 사용할 수 있으며 Opera, Chrome, Firefox 등이 적용 가능합니다.

').addClass('사전 번호 매기기').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

위 내용은 Yii가 CWebLogRoute를 사용하여 경로 및 eblog 콘텐츠를 포함한 변수를 기록하고 디버깅하는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿