@php

    $url = 'https://rhymix.org';

@endphp

{{ $url | link }}

{{ $url | link:'Click Here' }}

 

<!-- 결과 -->

<a href="https://rhymix.org">https://rhymix.org</a>

<a href="https://rhymix.org">Click here</a>

 

-----------

이렇게 예상했는데...

 

<!-- 결과 -->

<a href="https://rhymix.org">https://rhymix.org</a>

<a href="Click here">https://rhymix.org</a>

 

이렇게 나오네요.

 

---

 

@php

    $text = 'Click here';

    $url = 'https://rhymix.org';

@endphp

{{ $url | link }}

{{ $text | link:$url }}

 

<!-- 결과 -->

<a href="https://rhymix.org">https://rhymix.org</a>

<a href="https://rhymix.org">Click here</a>

 

이렇게 쓰는거네요.

 

해석해보자면 {{ '이 문자열에' | link:'이 링크를 걸어라' }} 라는 형식이네요.

 

옵션이 없으면 자동링크 기능인 셈이고, 옵션을 지정하면 "이 링크를 걸어라"라는 의미이네요.

 

 

 

TAG •
  • Lv36

    이건 어떻게 만들어도 세상의 절반은 헷갈릴 수밖에 없는 상황이죠. ㅎㅎ

     

    아마 처음에 자동링크만 생각했다가 URL을 커스터마이징할 수 있는 기능이 추가되면서 저런 구조가 되었을 겁니다. 필터 뒤에 붙는 부가정보는 문법상 특수문자 사용에 제약이 많은데, 아무래도 자유도가 높은 문자열보다는 일정한 형식을 가진 URL을 넣도록 하는 편이 더 안정적이기도 하고요. 아무튼 라이믹스에 적용한 지 몇 년이 지났고, 심지어 XE에서도 빌려간 문법이라 이제는 바꿀 수가 없습니다.

  • Lv36 Lv2

    그렇군요. 버그인줄알고 이슈 적다가 테스트 코드 보니까 맞더라고요 ㅎㅎ

     

    link.png

    대략 이런식으로 설명하면 될 것같네요.

  • Lv15
    V1문법이 디자이너, 퍼블리셔가 보기 편했다면 V2는 처음 워프 테마를 열었을 때의 느낌인거 같더라구요 @_@
  • Lv15 Lv36

    Blade 문법을 왜 그렇게 설계했는지는 라라벨 개발팀의 입장도 들어봐야겠지만... ㅎㅎ 아마도 퍼블리셔라는 직종이 점점 사라지고 그 대신 프론트엔드 개발자의 역할이 커진 현실을 반영했으리란 생각이 듭니다. 디자이너가 figma로 그려놓기만 하면 웬만한 퍼블리셔가 짤 만한 HTML과 CSS는 자동으로 나오는 세상이니까요.

    v1 문법이 생겨난 2000년대와 달리, 2020년대에 템플릿을 작성하는 사람은 디자이너나 퍼블리셔가 아닌 정식 개발자라고 가정하고, 개발자의 입맛에 맞게 좀더 날것에 가까운 PHP를 쓰도록 하는 것 같아요.