LARAVEL

PHP에서 따옴표(")와 백틱(`) 차이 3초만에 알아보자

litzoo 2025. 3. 24. 13:40

결론 : 따옴표 쓰셈

 


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
반응형