【Laravel】Mailable로 메일 제목에도 Blade 파일을 사용하고 싶다

4212 단어 라라벨

왜 하고 싶은가


  • 건명과 본문을 같은 곳에 정의하고 싶다!
  • 엔지니어 이외에도 확실히 알 수 있도록.

  • 제목에도 변수를 사용하고 싶을 때
  • 본문과 같이 blade로 처리를 통일하고 싶다


  • 지금까지?



    이런 느낌으로 디렉토리 나누어 경향이 있습니다.
  • resources/lang/ko/hoge.php
  • resources/views/emails/hoge.blade.php
  • return $this
        ->subject(__('hoge.subject'))
        ->text('emails.hoge')
        ->with(['data' => $data]);
    }
    

    제목도 Blade 사용



    폴더를 자르고, 제목과 본문의 파일을 준비.
  • resources/views/emails/hoge/subject.blade.php
  • resources/views/emails/hoge/body.blade.php
  • subject() 안에 view() 를 사용한다.
    return $this
        ->subject(view('emails.hoge.subject'))
        ->text('emails.hoge.body')
        ->with(['data' => $data]);
    }
    

    IDE가 줄 바꿈 포함



    IDE(VSCode라든지)가 파일 보존시에 개행 보관해 버리거나 한다.



    메일 건명에서는 개행 제거하고 싶기 때문에 제거해 준다.
    return $this
        ->subject(str_replace(PHP_EOL, '', view('emails.hoge.subject')))
        ->text('emails.hoge.body')
        ->with(['data' => $data]);
    }
    

    제목에서도 변수를 사용하고 싶다면 여기


    return $this
        ->subject(str_replace(PHP_EOL, '', view('emails.hoge.subject')->with(['data' => $data])))
        ->text('emails.hoge.body')
        ->with(['data' => $data]);
    }
    

    좋은 웹페이지 즐겨찾기