@Byran M. Tôi có xu hướng sử dụng hai cấu trúc mà tôi không thường thấy các nhà phát triển WordPress khác sử dụng thường xuyên, điều này làm tôi ngạc nhiên, nhưng tôi thích chúng rất nhiều.
1.) Di truyền
Bạn có thể lưu trữ các khối văn bản lớn dưới dạng chuỗi heredocs có thể trông như thế này để tôi có thể lưu trữ lo lắng về việc trộn các trích dẫn đơn và kép:
$html=<<<HTML
<input type="{$type}" size="{$size}" id="{$id}" class="{$class}" value="{$value}" />
HTML;
Lưu ý rằng các biến có thể được truyền cho một hàm dưới dạng một mảng và sau đó extract()
ed hoặc bạn có thể gán chúng theo các cách khác. Cũng lưu ý rằng tôi sử dụng dấu ngoặc nhọn không phải vì chúng luôn được yêu cầu nhưng chúng làm cho mã dễ đọc hơn. (Tất nhiên với các chức năng như the_content()
khác biệt về mặt vật chất so với get_the_content()
WordPress không phải lúc nào cũng làm cho phong cách mã hóa này trở nên dễ dàng.)
Hơn nữa, mặc dù nó có thể không liên quan đến bạn là nếu tôi sử dụng các tên heredoc như HTML, SQL, v.v. thì IDE PhpStorm của tôi thực hiện cú pháp cú pháp và sẽ cho tôi tự động hoàn thành và tô màu cú pháp trong heredoc.
2.) Nối chuỗi bằng cách sử dụng một mảng
Thành ngữ khác tôi muốn sử dụng là thu thập nội dung thành một mảng và sau đó implode()
là mảng. Mặc dù tôi chưa bao giờ đánh giá điểm này vì vậy nó có thể ít hữu ích hơn tôi cho rằng tôi biết rằng nối chuỗi lặp lại là một kẻ giết người khi các chuỗi ngày càng lớn hơn (nếu có ai biết tại sao cách tiếp cận này không tốt hơn hoặc nếu bạn biết cách tiếp cận tốt hơn tôi 'rất thích nghe phản hồi):
function my_get_form_and_fields($input_items) {
$html = array();
$html[] = '<form name="my_form" method="get">';
foreach($input_items as $input_item) {
extract($input_item);
$html=<<<HTML
<input type="{$type}" size="{$size}" id="{$id}" class="{$class}" value="{$value}" />
HTML;
$html[] = '</form>';
return implode("\n",$html);
}