Extra Form
PHP PHP 7.4
CMS Rhymix 2.0

라이믹스 중 외부 페이지를 이용해서 기능을 개발하고 있습니다.

초보적인 질문입니다만..

 

html 요소에 값을 표시하기 위해..

예전에는 다음과 같은 방식을 이용했었습니다.

<?=$변수명?>

 

그런데 요즘에는 다음과 같이 표시하라고 하더라고요.

<?php echo $변수명; ?>

 

두 방식 다 상관없습니까?

아니면 두 번째 방법을 추천하십니까?

 

두 번째 방법을 추천한다면, 그 이유도 말씀해 주시면 좋겠습니다.

 

고맙습니다~

  • profile
    두번째 방법을 추천드립니다.
    첫번째의 경우 서버 환경 php.ini 설정에따라 작동이 안될수도 있습니다.
  • profile

    아래의 2가지 문법은 php.ini 설정과 관계없이 항상 지원됩니다.

    <?php echo $변수명; ?>

    <?=$변수명?>

     

    <?= 문법은 PHP 5.3 이하에서는 php.ini 설정에 영향을 받았지만, PHP 5.4부터는 무조건 지원되므로 부담없이 쓰셔도 됩니다. <?php echo 와 완벽하게 동일한 의미입니다. (마지막에 ;을 넣느냐 빼느냐는 중요하지 않습니다.)

     

    아래와 같은 문법은 설정에 따라 지원 여부가 오락가락하므로, 사용을 권장하지 않습니다.

    <? echo $변수명; ?>

    <? 함수($변수); ?>

     

    아래와 같은 문법은 PHP가 아니라 ASP입니다. 예전에 PHP가 ASP 사용자들을 끌어모으려고 호환 문법을 제공했던 적이 있어서 여전히 가끔 눈에 띄는데, 당연히 안 됩니다. ㅎㅎ

    <%=$변수명%>

     

    지원 여부와는 별도로, 변수명을 어떠한 전처리도 없이 그대로 출력할 때 발생할 수 있는 XSS 취약점 같은 부분은 직접 신경을 써주셔야 합니다. 외부페이지라도 웬만하면 템플릿 문법을 활용해서, 라이믹스가 기본 제공하는 escape 처리 기능 등을 최대한 활용하시기 바랍니다.

  • profile
    기진곰님. 정말 고맙습니다.
    정리를 엄청 잘 해주셨네요..