PHP 태그 및 삽입 문법
HTML 안에서 PHP 시작 및 종료 태그와 짧은 출력 문법을 사용합니다.
PHP 태그 및 삽입 문법은(는) CoddyKit의 무료 PHP Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 PHP Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. PHP Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
PHP와 HTML 혼합
PHP는 HTML 파일 안에 삽입할 수 있도록 설계되었습니다. 서버가 .php 파일을 처리할 때 PHP 태그 사이의 모든 내용은 실행되고, 나머지는 그대로 브라우저로 전송됩니다.
표준 PHP 태그
표준 PHP 여는 태그와 닫는 태그입니다:
<!DOCTYPE html>
<html><body>
<?php
$name = 'Alice';
echo 'Hello, ' . $name;
?>
<p>This is regular HTML.</p>
<?php
echo '<p>Back in PHP!</p>';
?>
</body></html>짧은 출력 태그
짧은 출력 태그를 사용하면 echo라는 단어를 작성하지 않고도 값을 출력할 수 있습니다:
<!-- Long form -->
<h1><?php echo $pageTitle; ?></h1>
<!-- Short form (preferred in templates) -->
<h1><?= $pageTitle ?></h1>
<!-- With escaping -->
<h1><?= htmlspecialchars($pageTitle, ENT_QUOTES, 'UTF-8') ?></h1>출력은 항상 이스케이프하기
사용자가 제어하는 데이터를 이스케이프하지 않고 출력하지 않습니다:
<?php
$unsafe = '<script>alert("xss")</script>';
$safe = htmlspecialchars($unsafe, ENT_QUOTES, 'UTF-8');
// Define a helper:
function e(string $str): string {
return htmlspecialchars($str, ENT_QUOTES | ENT_HTML5, 'UTF-8');
}
?>
<p><?= e($userInput) ?></p>HTML 속성 안의 PHP
HTML 속성에 PHP를 삽입할 때는 항상 이스케이프합니다:
<?php
$url = '/profile/' . $user['id'];
$active = $currentPage === 'home' ? 'active' : '';
$count = 5;
?>
<a href="<?= htmlspecialchars($url) ?>" class="nav-link <?= $active ?>">
Inbox <span class="badge"><?= $count ?></span>
</a>짧은 태그 피하기
짧은 여는 태그(php 없이 보다 작음 기호 ?를 사용하는 태그)는 NOT 권장됩니다. php.ini 설정에 의존하고 XML과 충돌하기 때문입니다. 항상 전체 여는 태그 또는 짧은 echo 형식을 사용합니다:
<?php
// These are the safe, portable forms:
// <?php echo $name; ?> — full form
// <?= $name ?> — short echo (always enabled 5.4+)
// The short open tag <? is different and unreliable
// Do not use it in code intended for multiple environments.템플릿의 인라인 조건문
템플릿에서 인라인 삼항 연산자 또는 널 병합 연산자를 직접 사용합니다:
<?php
$role = 'admin';
$loggedIn = true;
?>
<nav>
<?= $loggedIn ? 'Welcome back!' : 'Please log in' ?>
<?php if ($role === 'admin'): ?>
<a href="/admin">Admin Panel</a>
<?php endif; ?>
</nav>캡처를 위한 출력 버퍼링
출력 버퍼링을 사용하여 PHP+HTML 출력을 변수에 캡처합니다:
<?php
function renderCard(string $title, string $body): string {
ob_start();
?>
<div class="card">
<h2><?= htmlspecialchars($title) ?></h2>
<p><?= htmlspecialchars($body) ?></p>
</div>
<?php
return ob_get_clean();
}
echo renderCard('PHP', 'A server-side scripting language.');플랫폼 간 호환성을 위한 PHP_EOL
모든 플랫폼에서 올바른 줄 끝 문자를 사용하려면 PHP_EOL을 사용합니다:
<?php
$lines = ['Line 1', 'Line 2', 'Line 3'];
$content = implode(PHP_EOL, $lines);
file_put_contents('output.txt', $content);
// PHP_EOL = "\n" on Linux/Mac, "\r\n" on Windows
echo PHP_EOL === "\n" ? 'Unix line ending' : 'Windows line ending';닫는 태그 생략
권장 방식: PHP 전용 파일의 끝에서 닫는 PHP 태그를 생략합니다. 이렇게 하면 헤더가 전송되기 전에 실수로 공백이 전송되는 것을 방지할 수 있습니다:
<?php
// config.php — PHP only, no closing tag needed
defined('APP_KEY') or define('APP_KEY', 'secret123');
define('DB_HOST', 'localhost');
define('DB_NAME', 'myapp');
// No closing PHP tag here — prevents header issues여러 PHP 블록
하나의 파일에 HTML과 섞인 여러 PHP 블록을 포함할 수 있습니다:
<?php
$items = ['Apple', 'Banana', 'Cherry'];
$count = count($items);
?>
<h2>Shopping List (<?= $count ?> items)</h2>
<ul>
<?php foreach ($items as $item): ?>
<li><?= htmlspecialchars($item) ?></li>
<?php endforeach; ?>
</ul>빠른 확인
HTML 템플릿에서 변수를 출력할 때 권장되는 PHP 출력 구문은 무엇입니까?
복습: PHP 태그와 삽입
핵심 사항:
- 코드 블록에는
<?php ?>를, 출력에는<?= ?>를 사용합니다 - 항상
htmlspecialchars()로 출력을 이스케이프합니다 - PHP 전용 파일의 끝에서는 닫는 태그를 생략합니다
- 출력 버퍼링을 사용하여 렌더링된 HTML을 캡처합니다
- 이식 가능한 줄 끝 문자에는 PHP_EOL을 사용합니다
자주 묻는 질문
“PHP 태그 및 삽입 문법” 강의는 무료인가요?
네 — “PHP 태그 및 삽입 문법” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 PHP Academy 강의 전체를 잠금 해제할 수 있습니다. PHP Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“PHP 태그 및 삽입 문법”에서 뭘 배우나요?
HTML 안에서 PHP 시작 및 종료 태그와 짧은 출력 문법을 사용합니다. 브라우저에서 직접 실행하는 실습 코드로 PHP Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
PHP Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 PHP Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“PHP 태그 및 삽입 문법” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 PHP Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 PHP Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- PHP 태그 및 삽입 문법
- PHP 반복문으로 동적 HTML 만들기
- 파일 포함 및 불러오기
- 템플릿 패턴: 로직과 뷰 분리