cakePHP로 변수의 내용을 실시간으로 출력한다(초보자용)

오류 로그를 참조하는 타이밍



평소에는 View에 변수의 내용을 출력하고 있었지만, View를 사용하지 않는 함수(액션)를 실행하면 View가 없기 때문에 변수의 내용을 브라우저에 출력해 확인할 수 없다.
변수의 내용을 실시간으로 감시하고 싶다.
그런 때는 에러 로그를 잘 사용하면 문제점의 발견이 원활하게 갑니다.

cakePHP에서 error.log의 위치



htdocs/앱 이름/app/tmp/logs/error.log

error.log를 열어보세요



① 터미널을 시작합니다.
평소에 터미널을 사용하지 않는 사람에게는 약간의 저항이있을 수 있지만,
익숙해지면 편리합니다.



② 터미널에서 error.log의 장소까지 가자
내 환경은 MAC에서 MAMP를 사용하여 PHP를 실행하기 때문에 error.log까지의 경로는
Application/MAMPhtdocs/앱 이름/app/tmp/logs/입니다.
이 logs 폴더 안에 있는 error.log를 실행합니다.



③ 터미널에서 error.log 열기
이번 error.log를 열려면 "tail -f"라는 명령을 사용합니다.
tail 명령에 대해서는 여기를 참조하십시오.
h tp // w w. 음 bhtm. 네 t / 우니 x / cmd / 원하는 l_cmd. htm
tail -f error.log



tail 명령을 종료하려면 control+C를 누릅니다.

cakePHP 측 설정



설정을 한다고 해도 log() 함수에 로그 파일에 뱉어내고 싶은 변수를 인수로서 넣어 실행을 할 뿐.
$this->log(変数名);

예를 들어,

TestsController.php
class TestsController extends AppController {

  //省略 


  function test(){

    $this->autoRender = false;

    $info = $this->Food->find('all');

    $this->log($info);

  }

}

오류 로그를 내뿜어보세요



TestsController의 test 액션을 실행하면 foods 테이블로부터 등록되어 있는 정보가 모두 취득됩니다.
그리고 그것이 $info에 저장됩니다만, 그 때에 저장된 정보가 터미널에 실시간으로 표시됩니다.
터미널 화면에 foods 테이블 정보가 추가되었습니다.



터미널의 조작은 사용하고 있는 동안 점점 익숙해 질 것이라고 생각하므로, 우선은 한번 사용해 보세요.
그 중 터미널이 없으면 개발할 수 없게되는 날이 올 것입니다.

좋은 웹페이지 즐겨찾기