0Pricing
PHP Academy · บทเรียน

แท็ก PHP และไวยากรณ์การฝังโค้ด

ใช้แท็กเปิดและปิด PHP รวมถึงไวยากรณ์ short echo ภายใน HTML

แท็ก PHP และไวยากรณ์การฝังโค้ด เป็นบทเรียน PHP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน 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>

PHP ในแอตทริบิวต์ HTML

ฝัง PHP ในแอตทริบิวต์ HTML โดยต้องหลีกเลี่ยงอักขระเสมอ:

<?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) เนื่องจากขึ้นอยู่กับการตั้งค่า 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.

เงื่อนไขแบบอินไลน์ในแม่แบบ

ใช้ตัวดำเนินการสามส่วนหรือการรวมค่า null แบบอินไลน์โดยตรงในแม่แบบ:

<?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 หลายบล็อก

ไฟล์หนึ่งไฟล์สามารถมีบล็อก PHP หลายบล็อกสลับกับ HTML ได้:

<?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>

ตรวจสอบความเข้าใจ

ไวยากรณ์การส่งออกของ PHP แบบใดที่แนะนำสำหรับการแสดงค่าตัวแปรในแม่แบบ HTML

ทบทวน: แท็ก PHP และการฝังโค้ด

ประเด็นสำคัญ:

  • ใช้ <?php ?> สำหรับบล็อกโค้ด และ <?= ?> สำหรับการส่งออก
  • หลีกเลี่ยงอักขระของผลลัพธ์เสมอด้วย htmlspecialchars()
  • ละเว้นแท็กปิดท้ายไฟล์ที่มีเฉพาะ PHP
  • ใช้การบัฟเฟอร์ผลลัพธ์เพื่อเก็บ HTML ที่เรนเดอร์แล้ว
  • ใช้ PHP_EOL เพื่อให้อักขระขึ้นบรรทัดใหม่ทำงานได้หลายแพลตฟอร์ม

คำถามที่พบบ่อย

บทเรียน “แท็ก PHP และไวยากรณ์การฝังโค้ด” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “แท็ก PHP และไวยากรณ์การฝังโค้ด” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส PHP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “แท็ก PHP และไวยากรณ์การฝังโค้ด”

ใช้แท็กเปิดและปิด PHP รวมถึงไวยากรณ์ short echo ภายใน HTML คุณปฏิบัติ PHP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน PHP Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน PHP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “แท็ก PHP และไวยากรณ์การฝังโค้ด” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน PHP Academy นี้ได้ไหม

ได้ บทเรียน PHP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. แท็ก PHP และไวยากรณ์การฝังโค้ด
  2. HTML แบบไดนามิกด้วยลูป PHP
  3. การรวมและเรียกใช้ไฟล์
  4. รูปแบบเทมเพลต: แยกตรรกะออกจากมุมมอง
← กลับไปที่ PHP Academy