2012-03-29 40 views
9

Trong PHP, tôi đã nhận thấy mọi người đặt biểu tượng "@" trong nhận xét mã nguồn. Một ví dụ tuyệt vời là bất cứ điều gì WordPress. Khi bạn nhìn vào các nguồn, bạn sẽ thấy những thứ nhưBiểu tượng "@" trong Nhận xét là gì?

/** Results of the last query made 
* 
* @since 1.0.0 
* @access private 
* @var array|null 
*/ 
var $last_result 

(wp-db.php, Line 124)

Nó thay đổi cú pháp nổi bật trong trình soạn thảo của tôi vì vậy tôi giả sử nó làm điều gì đó, nhưng Tôi không chắc nó làm gì. Ai đó có thể giải thích biểu tượng "@" có trong nhận xét không?

Trả lời

7

Đây là PHPDoc nhận xét. Chúng có thể được phân tích bằng máy để hỗ trợ tài liệu tự động và hoàn thành mã IDE.

0

Ký pháp như vậy đóng vai trò như một cách để tạo trình phân tích cú pháp tài liệu trong số các nhận xét. Vì vậy, @ đầu tiên có thể được xác định là phiên bản, thứ hai là các đối số và vân vân.

0

Điều này thường được thực hiện để tự động tạo tài liệu từ các tệp mã nguồn. Trong trường hợp này, @_ được sử dụng để xác định dữ liệu meta về biến. Thay vì được đánh giá theo thứ tự, @var có thể cho trình phân tích cú pháp tài liệu biết rằng văn bản sau mô tả biến và vân vân.

3

Câu trả lời trước là chính xác trong việc cho biết rằng các biểu tượng @ trong nhận xét nguồn là nhận xét PHPDoc. Chúng cũng có thể được sử dụng cho một cái gì đó gọi là "chú thích" để thêm siêu dữ liệu vào một số phần tử của mã và có thể ảnh hưởng đến hành vi của một ứng dụng. Nó không được hỗ trợ chính thức trong PHP nhưng nó đã được thảo luận trong vài năm và đang được sử dụng trong Symfony, Doctrine và các dự án khác.

Giải thích tuyệt vời qua slideshow (không liên kết với tôi) của tất cả mọi thứ PHP và chú thích:

http://www.slideshare.net/rdohms/annotations-in-php-they-exist

Một cuộc thảo luận chung của các đối tượng chú thích:

http://en.wikipedia.org/wiki/Annotation

Một RFC từ năm 2010 về việc triển khai các chú thích trong PHP:

http://wiki.php.net/rfc/annotations

Các vấn đề liên quan