본문 바로가기

비개발자의 개발 일지

현장 팀장에서 수출 ERP까지 — AI와 함께 시스템을 만든 기록

시리즈 보기
php

PHP 시작 — print · echo · HTML 임베딩 완전 정리

by 왕진 2026. 6. 11.
반응형

 

 

Web Development · PHP

PHP 시작
print · echo · HTML 임베딩 완전 정리

"안녕하세요" 한 줄로 보는 서버 사이드 언어의 첫 걸음
시작 PHP는 어디서 실행되는가

HTML/CSS/JavaScript는 브라우저(클라이언트)에서 실행된다. 반면 PHP는 웹 서버에서 실행되고, 그 결과(HTML)만 브라우저로 전송된다. 사용자는 PHP 코드를 절대 보지 못한다.

브라우저
요청
웹 서버
PHP 실행
HTML 응답
브라우저로

용어 핵심 키워드
<?php ?>PHP 코드 시작/끝
.php 확장자서버가 PHP로 인식할 파일 이름
print화면에 문자열 출력 (단일 인자)
echo출력 — 더 빠르고 다중 인자 가능
// 또는 #한 줄 주석
/* ... */여러 줄 주석
;한 문장 끝 — 필수
localhost내 컴퓨터의 웹 서버 주소
XAMPP / MAMP로컬 개발용 웹 서버 패키지

1 첫 PHP 파일 — Start.php
<?php // 위 문장처럼 시작해서 print "안녕하세요"; // HTML tag가 필요할 땐 print "<br>"; // 이렇게 사용한다 ?> <!-- 위 문장처럼 끝나야 한다 -->
브라우저에 보이는 결과 — http://localhost/Start.php
localhost/Start.php
안녕하세요
📌 결과 화면에는 "안녕하세요"만 보인다. <?php ?>도, 주석도, print도 사용자에게 안 보인다 — 서버에서 다 처리되고 결과만 응답.

2 PHP 태그 — <?php ... ?>

PHP 코드는 반드시 <?php로 시작하고 ?>로 끝난다. 이 태그 안의 코드만 PHP 엔진이 처리하고, 바깥은 그대로 HTML로 전송된다.

<!-- 일반 HTML --> <h1>제목</h1> <?php // 여기는 PHP — 서버에서 처리 echo "<p>PHP가 만든 단락</p>"; ?> <!-- 다시 일반 HTML --> <footer>꼬리말</footer>
※ 짧은 태그 형태
  • <?php ... ?> — 표준, 항상 동작
  • <? ... ?> — 단축 태그, php.ini 설정에 따라
  • <?= $var ?><?php echo $var; ?>의 단축형 (현재 표준 지원)
마지막 ?>는 종종 생략된다 — 파일 끝 다음에 보이지 않는 빈 줄/공백이 들어가면 HTTP 헤더 전송이 깨질 수 있다. 순수 PHP 파일(클래스 정의 등)은 ?> 안 쓰는 게 표준 관행.

3 print vs echo — 출력 두 가지 방법
print
  • 인자 1개만
  • 반환값 1 (= 표현식)
  • 괄호 선택
  • print "안녕";
echo
  • 인자 여러 개 (콤마로 연결)
  • 반환값 없음 (= 문장)
  • 약간 더 빠름
  • echo "안녕", " ", "하세요";
<?php print "안녕하세요"; // OK print "안녕", " ", "하세요"; // ✕ 에러 echo "안녕하세요"; // OK echo "안녕", " ", "하세요"; // OK — 콤마로 여러 개 echo "안녕" . " " . "하세요"; // OK — 문자열 연결 (.) ?>
💡 실무 권장 — 대부분 echo를 쓴다. 다중 인자 가능 + 약간 더 빠름. print삼항 연산자 안에서 출력하고 싶을 때(반환값이 필요할 때) 가끔 쓴다.

반응형
4 HTML 임베딩 — 줄바꿈은 <br>

PHP의 print "안녕"그냥 글자만 출력한다. 줄을 바꾸려면 HTML의 <br>을 함께 출력해야 한다 (왜냐하면 결과는 HTML로 변환되기 때문).

<?php print "첫 줄"; print "<br>"; // HTML 줄바꿈 태그 print "두 번째 줄"; print "\n"; // 줄바꿈 — 하지만 브라우저에선 무시됨 // (소스 보기에서만 보임) ?>
결과 — \n은 안 먹히고 <br>만 줄바꿈
localhost/test.php
첫 줄
두 번째 줄

5 주석 3가지
<?php echo "안녕"; // C++ 스타일 한 줄 주석 echo "안녕"; # 셸 스타일 한 줄 주석 /* 여러 줄 주석 여기에 길게 설명 가능 */ echo "안녕"; ?> <!-- HTML 주석 — 브라우저에 전송됨 (소스 보기로 노출!) -->
주석 노출 주의 — PHP 주석(//, #, /* */)은 서버에서 제거되지만, HTML 주석(<!-- -->)은 브라우저로 그대로 전송된다. 비밀스러운 내용을 HTML 주석에 쓰면 안 된다.

6 실행 환경 — XAMPP / WAMP / MAMP

PHP는 브라우저에 직접 열어선 안 된다(파일을 열면 코드만 보임). 웹 서버를 통해서 실행해야 한다. 가장 쉬운 방법은 XAMPP(Win/Mac/Linux), WAMP(Win), MAMP(Mac) 같은 통합 패키지.

패키지 구성 특징
XAMPP X(크로스플랫폼) + Apache + MariaDB + PHP + Perl 가장 인기, 모든 OS
WAMP Windows + Apache + MySQL + PHP Windows 전용
MAMP Mac + Apache + MySQL + PHP Mac 전용
LAMP Linux + Apache + MySQL + PHP 리눅스 서버 표준
실행 흐름
  1. XAMPP 설치 → Apache 시작
  2. 파일을 htdocs 폴더에 저장 (예: htdocs/Start.php)
  3. 브라우저에서 http://localhost/Start.php 접속
  4. "안녕하세요" 출력
📌 file:// 로 열면 안 됨file:///D:/php-start/Start.php처럼 직접 파일을 열면 PHP가 실행되지 않고 코드 자체가 그대로 보인다. 반드시 http://localhost/... 형태로 접속.

7 자주 하는 실수
증상 원인 해결
코드가 그대로 보임 file://로 열거나 서버 미실행 XAMPP 시작 + http://localhost 접속
줄바꿈이 안 됨 \n만 사용 <br> 사용 (HTML 출력)
; 누락 에러 각 문장 끝 ; 빠짐 모든 문장 끝에 ; 붙이기
한글 깨짐 파일 인코딩 불일치 UTF-8 + meta charset="UTF-8"
print의 콤마 사용 print는 인자 1개만 echo로 바꾸거나 . 연산자로 연결
?> 뒤 빈 줄로 헤더 깨짐 출력 후 헤더 변경 시도 ?> 생략 (마지막 PHP 파일)

8 핵심 한 줄 요약

PHP — FIRST STEPS

실행 위치서버 (브라우저 X) — XAMPP/Apache
파일 확장자.php
PHP 태그<?php ... ?>
출력echo (다중 인자) / print (단일 인자)
줄바꿈<br> (HTML 태그) — \n은 무시
문장 끝; (세미콜론 필수)
주석// 또는 # / /* ... */
접속 URLhttp://localhost/파일.php

Tags

#PHP #print #echo #phpStart #htmlEmbedding #phpTag #서버사이드 #XAMPP #localhost #Apache #기본문법 #티스토리
▼ 티스토리 태그 입력란 복사용
PHP, print, echo, phpStart, htmlEmbedding, phpTag, 서버사이드, XAMPP, localhost, Apache, 기본문법, 티스토리
반응형

댓글