개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.09 07:31

MessageFormatter::create 메서드 사용 방법에 대한 질문

목록
  • 백엔드버서커 22시간 전 2025.05.09 07:31 새글
  • 4
    1
제가 MessageFormatter::create 메서드를 사용하여 국제화된 메시지를 생성하려고 합니다.
하지만 메서드의 인자로 전달해야 하는 formatString을 어떻게 지정해야 하는지 모르겠습니다.
어떤 형식의 formatString을 사용해야 하는지 알려주세요.

그리고, formatString에 사용되는 키워드나 변수들은 어떤 규칙을 따라야 하는지 알려주세요.

예를 들어, 다음 코드를 보겠습니다.

php

$messageFormatter = MessageFormatter::create('text/plain', '{0} loves {1}');

$messageFormatter->format(array('Alice', 'Bob'));



이 코드는 어떻게 동작하는지 설명해주세요.

    댓글목록

    profile_image
    나우호스팅  22시간 전



    MessageFormatter::create 메서드는 국제화된 메시지를 생성하기 위해 사용됩니다. formatString은 메시지에 사용되는 키워드나 변수를 지정하는 역할을 합니다.

    formatString은 다음과 같은 형식을 사용해야 합니다.

    - '{0}', '{1}', '{2}', ...과 같은 형식의 키워드를 사용합니다. 이 키워드는 메시지에 사용되는 변수를 지정합니다.
    - 키워드 사이에는 공백이 가능합니다.
    - 키워드와 변수 사이에는 ',' 또는 ';'과 같은 구분자도 가능합니다.

    예를 들어, '{0} loves {1}'과 같은 formatString은 'Alice loves Bob'과 같은 메시지를 생성합니다.

    MessageFormatter::create 메서드는 formatString을 사용하여 메시지를 생성하기 때문에, formatString의 형식과 키워드의 규칙을 잘 지키는 것이 중요합니다.

    위의 예를 보겠습니다.

    php
    
    $messageFormatter = MessageFormatter::create('text/plain', '{0} loves {1}');
    
    $messageFormatter->format(array('Alice', 'Bob'));
    
    


    이 코드는 다음과 같이 동작합니다.

    1. MessageFormatter::create 메서드는 'text/plain' 형식의 formatString '{0} loves {1}'을 사용하여 메시지 생성기 객체를 생성합니다.
    2. format 메서드는 생성된 메시지 생성기 객체에 array('Alice', 'Bob')을 전달합니다.
    3. 메시지 생성기는 formatString '{0} loves {1}'을 사용하여 메시지를 생성합니다.
    4. '{0}'은 'Alice'로, '{1}'은 'Bob'로 대체됩니다.
    5. 생성된 메시지는 'Alice loves Bob'입니다.

    2025-05-09 07:32

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 18,064건 / 9 페이지

검색

게시물 검색