Phần nội dung này tìm hiểu một số cách thức viết code ngắn ngọn thay thế trong PHP, những cách thức này áp dụng khi viết code PHP nhúng trong trang HTML, chủ yếu là viết trong các View của các mô hình lập trình MVC, trong các file của php template engine (Plates, Blade, Smarty, Twig, PhpRenderer ...)

Các cấu trúc điều khiển trong PHP gồm có các khối lệnh if, white, for, foreach, switch có thể được viết bằng cấu trúc thay thế, nhằm kết hợp giữa cấu trúc lệnh và việc xuất HTML.

Cú pháp là thay dấu mở khối ở cú pháp gốc bằng dấu hai châm (:) và ký hiệu đóng khối bằng các ký hiệu tương tưng là endif; endwhile; endfor; endforeach; endwitch;

Áp dụng cách viết này chủ yếu trong việc xuất mã HTML nhằm linh hoạt hơn trong viết code.

Rút gọn echo bằng <?=$var>

Khi bạn có một biến $var, nếu cần xuất dữ liệu này trong HTML thì bạn viết theo cách thông thường là:

<?php 
    echo $var; 
?>

Thì có thể viết là:

<?=$var?>

Khối lệnh if ... endif trong php

Dạng thay thế của lệnh if php có thể viết là:

if (condition):
    ... các dòng lệnh
    ... các dòng lệnh
endif;

Viết kết hợp với xuất HTML

<?php if ($condition):?>
    <p>Các mã HTML xuất ra nếu điều kiện $condition là true</p>  
<?php endif;?>

Khối if - else - endif

Dạng thay thế của if - else viết dưới dạng

if (condition):
    ... các dòng lệnh
    ... các dòng lệnh
else:
    ... các dòng lệnh
endif;

Kết hợp với xuất HTML

<?php if ($condition):?>
    <p>Nội dung HTML xuất ra nếu điều kiện $condition là true</p> 
<?php else:?>
    <p>HTML xuất ra nếu điều kiện $condition là false</p> 
<?php endif;?>

Khối lệnh for ... endfor trong php

Vòng lặp for trong PHP viết dưới dạng thay thế:

for (khởi_tạo; điều_kiện; cập_nhật):
    ... các dòng lệnh
endfor;

Viết dưới dạng kết hợp xuất HTML

<?php for (khởi_tạo; điều_kiện; cập_nhật):?>
    ... mã HTML ...
<?php endfor;?>

Khối vòng lặp for: Ví dụ xuất ra 100 phần tử <li>

<ul>
    <?php for ($i = 1; $i<=100; $i++):?>
        <li>Number <?=$i?></li>
    <?php endfor;?>
</ul>

Khối lệnh foreach ... endforeach trong php

Vòng lặp foreach php viết dưới dạng thay thế

foreach ($array as $key => $value):

endforeach;

Viết kế hợp xuất HTML

<?php foreach ($items as $item):?>
    <p>This is : <?=$item?></p>
<?php endforeach;?>

Khối lệnh while ... endwhile trong php

Dạng thay thế của vòng lặp while php là:

while ($conditon):
    ... các lệnh trong khối
endwhile;
<?php while ($conditon):?>
    <h1>Out put</h1>
    <?php
        // thiết lập false khi cần thoát lặp
        $conditon = false; 
    ?>
<?php endwhile;?>

Khối lệnh switch .. case ... endswitch trong php

Dạng thay thế của lệnh rẽ nhánh switch case trong PHP

switch ($exp):
    case value1:
        ... các lệnh
    break;
    case valuen:
        echo '[Được đọc bài viết thường]';
    break;
    default:
        ... các lệnh
    break;
endswitch;

Dễ dàng viết kết hợp với xuất HTML

<?php switch ($case):?>
    <?php case 100:?>
       <h1>100</h1>
    <?php break;?>
    <?php default:?>
        <h1>Default</h1>
    <?php break?>
<?php endswitch;?>

Đăng ký nhận bài viết mới