2012-06-11 28 views
7

Đây chỉ là một câu hỏi chung về PHP. Nó có giúp ích hay bị tổn thương khi có nhiều số <?php CODE ?> trong tập lệnh của tôi không?Nhiều thẻ PHP

Tôi chỉ đang xem một số tập lệnh của mình và nhận thấy rằng một số trong số chúng có 3-4 trong đó. Không biết nếu điều này gây ra sự chậm trễ trên trang web của tôi hay không :)

+0

nó đã loại bỏ câu hỏi của tôi haha ​​.... giúp có nhiều

+0

Đọc: http://c2.com/cgi/wiki?FirstRuleOfOptimization –

+0

Bạn có thể làm điều đó, nhưng cá nhân tôi thích chỉ có 1 thẻ mở (và không đóng) – Bono

Trả lời

12

Không, nó không gây ra bất kỳ sự cố hoặc sự cố nào. Hoàn toàn phổ biến khi có hàng chục hoặc hàng trăm riêng biệt trong các mẫu <?php ?> chặn.

0

không, nó không làm bất kỳ tác hại nhưng nếu bạn đang làm điều này ví dụ:

<div><?php echo $x; ?></div> 

Bạn có thể sử dụng các thẻ ngắn (nếu nó được kích hoạt trong cấu hình php của bạn)

<div><? echo $x; ?></div> 

Nếu bạn muốn thử và giảm số lượng thẻ php sau đó bạn thậm chí có thể echo html của bạn như vậy:

echo '<div>'.$x.'</div>'; 
+6

Sử dụng thẻ rút gọn không được khuyến khích vì nhiều máy chủ không bật chúng. Hãy an toàn và sử dụng những cái bình thường, bạn không cần phải thay thế chúng trong toàn bộ ứng dụng khi di chuyển sang máy chủ khác mà không có khả năng thay đổi cài đặt cụ thể đó. – Sherlock

+2

Tôi nghĩ giải pháp cuối cùng hoàn toàn ngược lại với những gì anh ta muốn. Làm như vậy, thông dịch viên php sẽ tạo ra toàn bộ trang html và đó là chậm hơn so với chỉ thực hiện một số thay đổi nhỏ. Phải không? – Zagorax

+0

Cá nhân tôi chưa bao giờ sử dụng các thẻ ngắn nhưng tôi nghĩ OP có thể thích tùy chọn này. – martincarlin87

1

Nếu yo u're sử dụng nó nhúng trong các trang html (và tôi nghĩ rằng bạn là nếu bạn có nhiều khối PHP), nó là bình thường và tôi không nghĩ rằng có một cách để tránh nó.

Nếu bạn có tập lệnh bên ngoài, không có lý do gì để có nhiều khối. Mặc dù tôi không nghĩ rằng nó sẽ ảnh hưởng đến hiệu suất.

3

Tôi đoán bạn có nghĩa là nhiều lần mở PHP & đóng thẻ.

Giống như trong trường hợp bạn muốn lặp lại một khối lượng lớn đánh dấu HTML, bạn nên luôn đóng thẻ php?> Và sau đó bắt đầu lại khi được yêu cầu. Ví dụ:

<?php 
if($ok) { 
    ?> A large 
    block 
    HTML MarkUp text 
<?php 
} //End of if($ok) 
?> 

Nó thực sự cải thiện tốc độ khi điều khiển sẽ không phân tích cú pháp khối lớn ở trên và chỉ cần bỏ qua < tiếp theo? Thẻ php hoặc Nếu điểm kết thúc, so với việc lặp lại tất cả các dòng này.

+0

Cá nhân tôi thích ' Nhiều html '. Nhưng vâng. Điều này cũng hoạt động. :) – cHao

+0

@cHao Vì vậy, đang sử dụng một số loại/biến thể của toán tử bậc ba? Tôi yêu cầu vì: trong mã của bạn. – DavChana

+1

Đó là [cú pháp thay thế của PHP cho cấu trúc điều khiển] (http://php.net/manual/en/control-structures.alternative-syntax.php). 'if ($ x):/* công cụ ở đây */endif;' có chức năng tương đương với 'if ($ x) {/ * một số nội dung ở đây * /}', nhưng 'endif' nói rõ ràng" tôi đang đóng một ' if' block "(trong khi'} 'nói" tôi đang đóng câu lệnh mở cuối cùng "). Nó dễ dàng hơn để có được quyền, IMO. Đặc biệt khi bạn đang sử dụng nó để xuất các khối lớn HTML (nơi bắt đầu câu lệnh có thể không còn trên màn hình) ... hoặc thường xuyên chuyển đổi vào và ra khỏi chế độ PHP. – cHao