Yêu cầu thg 9 5, 2017 6:43 SA 525 0 2
  • 525 0 2
+1

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

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

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

2 CÂU TRẢ LỜI


Đã trả lời thg 9 5, 2017 7:06 SA
Đã được chấp nhận
+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.

Chia sẻ
Đã trả lời thg 9 5, 2017 7:08 SA
+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

Chia sẻ
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí