💡해당 글은 확실하지 않은 정보로 쓰였습니다.
저의 호기심으로 찾아본 정보를 토대로 추론한 내용이니 사실이 아닐 수 있습니다.
- blade는 bladecompiler를 통해 모든 것을 PHP로 바꾼 다음에 PHP를 실행한다. blade 위에 html도, script도 style도 올릴 수 있지만 결국 라라벨 컴파일러가 돌면 이 모든 건 PHP가 된다. 이것이 blade에 PHP코드를 포함해도 성능저하가 일어나지 않는 이유다.
- blade / script 단에서 다음과 같은 코드를 봤다.
{value: ‘@lang(’something’)’}
- 언뜻 보기에는 말이 안되는 것처럼 보였다. 일단 직관적으로 따옴표가 말이 안된다. 자바스크립트에서 동적 엘리먼트를 생성했다고 쳐도 작은따옴표 안에 큰따옴표가 있어야 한다. 아니면 이스케이프 코드를 쓰던가.
- lang기능(localization)은 라라벨의 PHP기능이고 @lang은 라라벨 블레이드 문법이다.
- 설마 자바스크립트가 이제 이런것도 지원하나 해서 코드도 써봤지만 에러만 나올 뿐이었다.
a="bla"hb"lah";
public function stripQuotes(string $value)
{
return Str::startsWith($value, ['"', '\''])
? substr($value, 1, -1)
: $value;
}
- 역시 내 생각대로 앞부분이 “로 시작하는지만 체크한 다음에 양 끝을 한글자씩 지워버린다. 궁금증 해결!