결론 : 따옴표 쓰셈
1) LOG::Debug(`{$man} : 시간변경 완료 - bd_seq : {$request->bd_seq}`);
2) LOG::Debug("{$man} : 시간변경 완료 - bd_seq : {$request->bd_seq}");
자바 스크립트를 주로 쓸때는 `${test}` 를 하다보니까 자연스럽게 php에서도 1번처럼 백틱을 썼다
하지만 로그가 안찍히길래 2번처럼 바꿔보았더니 찍혔다...!
백틱과 따옴표의 차이는?
차이점
- 큰따옴표 ("):
PHP에서 큰따옴표를 사용한 문자열은 문자열 내에 변수나 PHP 표현식을 자동으로 해석합니다.
예를 들어, "Hello, {$name}"와 같이 작성하면, {$name} 부분은 실제 변수의 값으로 치환됩니다.
- 백틱 (```):
백틱은 PHP에서 문자열을 감싸는 방법이 아니라, 셸 명령어 실행을 위해 사용됩니다.
즉, 백틱으로 감싸진 내용은 PHP가 셸 명령어로 인식하고 실행하게 됩니다.
예를 들어, shell_exec('ls');와 같이 명령어를 실행하는 데 사용됩니다.
따라서 LOG::Debug({$man} : 시간변경 완료 - bd_seq : {$request->bd_seq});는
셸 명령어로 간주되어 PHP의 문자열 처리 방식과 충돌하게 됩니다.
결론
LOG::Debug("{$man} : 시간변경 완료 - bd_seq : {$request->bd_seq}");는 문자열 안에서 변수를 정상적으로 해석하는 반면, LOG::Debug({$man} : 시간변경 완료 - bd_seq : {$request->bd_seq});는 셸 명령어로 처리되기 때문에 PHP에서 변수 치환을 하지 않습니다.
따라서 문자열 내에서 변수 치환을 원할 경우 **큰따옴표(")**를 사용해야 합니다.
728x90
반응형
'LARAVEL' 카테고리의 다른 글
Laravel의 파일 기반 세션 관리 개요 (1) | 2025.03.21 |
---|---|
미들웨어에서 alert 안될 때 (0) | 2025.02.10 |
[PHP] 블레이드 내에서 함수 사용하기 (2) | 2024.11.27 |
[PHP] file 테이블 생성 및 데이터 삽입 (0) | 2024.11.26 |
[PHP] JS에서 ajax로 보낸 data 보는 방법 (1) | 2024.11.25 |