2013-01-22 30 views
14

Tôi sử dụng Zend Studio để phát triển bằng PHP với CakePHP và một trong các vấn đề với CakePHP là tất cả các lượt xem đều tham chiếu đến biến cục bộ không khai báo.Làm thế nào để khai báo kiểu cho các biến cục bộ sử dụng ký hiệu PHPDoc?

Vì vậy, ví dụ, trong bộ điều khiển bạn sẽ

$ this-> set ('công việc', MyJobObject mới());

Sau đó, trong giao diện bạn có thể

echo $ job-> getName();

Vấn đề của tôi là Zend Studio không thể thực hiện tự động hoàn tất trên $job vì loại này không xác định. Bây giờ có các thẻ PHPDoc cho phép bạn khai báo kiểu để IDE có thể thực hiện tự động hoàn thành. Ví dụ, thẻ @var có thể được sử dụng trong một lớp để xác định loại thuộc tính.

class MyJobObject 
{ 
    /** 
    * @var MyStatusObject 
    */ 
    public $status; 
} 

Có cách nào để làm điều gì đó như thế này cho các biến cục bộ không?

Trả lời

22

Bạn phải sử dụng dưới hình thức một dòng: /** @var $job MyJobObject */

Lưu ý rằng một số biên tập viên thích cú pháp cách khác xung quanh: /** @var MyJobObject $job */

+1

Bạn có thể đặt nó ở bất kỳ vị trí nào trong khối thực thi và sẽ có hiệu lực cho đến khi kết thúc hàm (hoặc bất kỳ định nghĩa lại). –

+0

cảm ơn anh chàng! Đó sẽ là một trợ giúp lớn. – cgTag

+5

NetBeans dường như nhận ra '/ * @var $ varName varType * /' cú pháp (** note ** chỉ có một '*' khi bắt đầu nhận xét) – matt

4

Bạn shoud làm trên xem/mẫu tập tin của bạn.

<?PHP 
/* @var $job MyJobObject */ 
?> 
+1

Cảm ơn! Tôi chấp nhận câu trả lời khác khiến anh ta có điểm thấp hơn, nhưng cảm ơn một lần nữa vì đã trả lời. – cgTag

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