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 테이블 정보가 추가되었습니다.
터미널의 조작은 사용하고 있는 동안 점점 익숙해 질 것이라고 생각하므로, 우선은 한번 사용해 보세요.
그 중 터미널이 없으면 개발할 수 없게되는 날이 올 것입니다.
Reference
이 문제에 관하여(cakePHP로 변수의 내용을 실시간으로 출력한다(초보자용)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ryotakodaira/items/74b017972d7221c186a9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)