Có thể bỏ dấu chấm phẩy kết thúc trong thẻ.
Thí dụ:
<table>
<th><td>Name</td><td>Email</td>
<? foreach ($receivers as $receiver): ?>
<tr>
<td><?= $receiver->name ?></td>
<td><?= $recevier->email ?></td>
</tr>
<? endforeach ?>
</table>
Lưu ý <? endforeach ?>
không có dấu chấm phẩy sau endforeach
. Các tài liệu PHP nói:
Thẻ đóng của một khối mã PHP tự động ngụ ý dấu chấm phẩy; bạn không cần phải có dấu chấm phẩy chấm dứt dòng cuối cùng của khối PHP.
Tại sao tôi lại đưa ra chủ đề này?
Hiện tại tôi và một người bạn của tôi làm việc trong một dự án PHP độc quyền với MVC (model-view-controller). Để xem, tôi đã đánh giá một số công cụ mẫu PHP như Smarty, Mustache và thậm chí đã thiết kế công cụ mẫu tự phát triển tại nhà của riêng tôi. Nhưng khi tôi đọc rằng PHP là một công cụ mẫu, bản thân nó đã xuất hiện « click » trong đầu tôi. Tại sao không chỉ đồng ý trong nhóm sử dụng một tập hợp con giới hạn của PHP làm công cụ mẫu? Và có nhiều đánh giá mã để theo kịp các quy tắc?
Và tập hợp con này có thể trông như thế này:
- Sử dụng thẻ chỉ ngắn
<?
,<?=
và?>
- Chỉ sử dụng các biểu thức đơn giản mà không có tác dụng phụ, đặc biệt là không gán biến
- Chỉ sử dụng
if
,foreach
vàinclude
cho báo cáo - Chỉ sử dụng cú pháp thay thế cho các cấu trúc điều khiển
- Mỗi câu chỉ có một câu lệnh
Đây là bối cảnh mà chúng ta đang bỏ qua các dấu chấm phẩy chấm dứt, cụ thể là cho <? endforeach ?>
, <? endif ?>
và <? include("list-contents.php") ?>
.
Tuy nhiên tôi thường đọc rằng bỏ qua dấu chấm phẩy chấm dứt là một thực tế xấu. Tại sao? Nó có phải là một thực hành xấu ở tất cả?
Tôi rất vui khi PHP cho phép bỏ qua dấu chấm phẩy chấm dứt bởi vì điều này giảm thiểu sự lộn xộn thị giác trong các tệp mẫu. Chúng trông giống như các tệp HTML chỉ với các đoạn PHP nhỏ ở đây và đó. Ví dụ trên là những gì tôi đang phấn đấu.
Bạn nghĩ gì về điều này? Nếu bạn chống lại nó: tại sao? Nếu bạn ủng hộ nó: Tại sao nó sẽ là một ý tưởng tốt? Tôi nên nói gì với đối tác của mình nếu anh ta giới thiệu cho tôi một số văn bản chống lại việc bỏ dấu chấm phẩy?
Vui lòng sao lưu ý kiến của bạn với các sự kiện, tài liệu tham khảo hoặc kinh nghiệm của riêng bạn.