2015-06-23 13 views
7

PHPDoc cung cấp @var tag, sẽ hoạt động ngay cả đối với các biến được khai báo bên ngoài lớp.Làm thế nào tôi có thể tạo một PHPDoc cho các thuộc tính ma thuật bên ngoài định nghĩa lớp?

Tuy nhiên, điều này dường như không có tác dụng nếu tôi xác định các biến như là một thành viên kỳ diệu của một đối tượng:

/** @var $app->translator \Fortress\MessageTranslator */ 
$app->translator = new \Fortress\MessageTranslator(); 

đâu $app là một đối tượng Slim hỗ trợ nhiệm vụ bất động sản tùy ý qua setters kỳ diệu và thu khí.

Tôi biết rằng tôi có thể thêm nó vào số Slim thông qua thẻ @property, nhưng sau đó tôi cần phải thay đổi mã lõi Slim mỗi khi tôi tạo thuộc tính mới.

PHPDoc có hỗ trợ loại tài liệu động này không?

+1

Bạn đã thử xóa '$ app-> dịch 'trong phần tài liệu? Dù sao [điều này có thể giúp bạn] (http://stackoverflow.com/questions/6395737/how-do-i-make-my-php-ide-understand-dependency-injection-containers). –

+0

Bạn đã bao giờ giải quyết vấn đề này chưa? – Andy

+0

Andy, tôi đã bắt đầu sử dụng Slim 3, sử dụng vùng chứa DI rõ ràng. Vì vậy, một cái gì đó giống như những gì được hiển thị trong câu trả lời @ onerror _should_ làm việc. Một câu trả lời tương tự được đưa ra trong liên kết ở trên. – alexw

Trả lời

-1

Bạn không cần $ app-> dịch trong khối tài liệu. Nó sẽ giống như thế này:

/** @var \Fortress\MessageTranslator your_possible_comments */ 

hoặc

/** @type \Fortress\MessageTranslator your_possible_comments */ 

Link to the documentation.

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