Asked Sep 5th, 2017 6:43 AM 279 0 2
  • 279 0 2
+1

Toán tử =<<< là gì ?

Share
  • 279 0 2
$style =<<<CSS
.new-note {
    font-weight: 700 !important;
}
CSS;
$this->registerCss($style);

Cho hỏi =<<< đó có nghĩa là gì ?

2 ANSWERS


Answered Sep 5th, 2017 7:06 AM
Accepted
+5

Thực ra =<<< không phải là một toán tử bạn ạ. = là phép gán giá trị cho biến, còn <<< là báo hiệu bắt đầu Heredoc trong PHP. Theo cú pháp của Heredoc thì tiếp sau <<< sẽ là một identifier báo hiệu bắt đầu của string, và nó cũng sẽ được dùng để báo hiệu kết thúc string. Như bạn thấy thì ở ví dụ trên, identifier được sử dụng là CSS (bạn có thể thay thế bằng đoạn text khác, nhưng nên nhớ lúc kết thúc cũng phải dùng đoạn text giống như thế)

Ở giữa identifier chính là string cần khởi tạo. Hay nói cách khác, đoạn code trên tương đương với:

$style =".new-note {\n    font-weight: 700 !important;\n}";
$this->registerCss($style);

Heredoc thường được sử dụng với những documents (string) gồm nhiều dòng, nó sẽ giúp format code đẹp hơn. Ngoài ra bạn cũng có thể khai triển biến PHP bên trong Heredoc nữa.

Share
Answered Sep 5th, 2017 7:08 AM
+3

Đó là Heredoc syntax để viết string literal

A third way to delimit strings is the heredoc syntax: <<<. After this operator, an identifier is provided, then a newline. The string itself follows, and then the same identifier again to close the quotation.

Ở ví dụ của bạn, identifier ở đây là CSS, giá trị của $style là đoạn string nằm giữa 2 cái CSS này

Share