2015-12-01 10 views
7

Tôi đang gửi các đối tượng PHP tới các tệp mẫu và rất thích viết tài liệu ở đầu tệp mẫu của tôi những thuộc tính của đối tượng (sử dụng __get) sẵn có và chúng là gì và làm cho chúng có sẵn để tìm kiếm mã.Có một DocBlock PHP nào mà tôi có thể sử dụng để biểu thị một thuộc tính phương thức ma thuật được thêm vào sau khi khởi tạo không?

Đây là một ví dụ.

Trong điều khiển của tôi:

$obj = new Template("welcomePage"); 
$obj->title = "Welcome!"; 
$obj->render(); 

Theo quan điểm của tôi/mẫu:

<?php 
/** 
* @var  $obj   Template The template data wrapper 
* @property $obj->title string  The page header text 
/* ?> 
<h1><?php echo $obj->title; ?></h1> 

Có một cái gì đó tương tự như sau đó sẽ làm việc? Cách tôi có nó bây giờ sẽ không tự động hoàn thành nếu tôi bắt đầu gõ $obj->, có nghĩa là tôi (hoặc một thành viên trong nhóm) cần tham khảo phần đầu của mẫu để tìm mỗi thuộc tính có sẵn.

Tôi đang cân nhắc việc mở rộng lớp Mẫu cho từng loại mẫu, nhưng có vẻ như chi phí không cần thiết vì tôi chỉ có thể thêm chuỗi và một mảng trên mỗi trang và tạo một lớp riêng biệt cho mỗi mẫu, mẫu từng phần và kết hợp của cả hai có vẻ hơi ngớ ngẩn.

Cảm ơn bạn ~

+1

Lời khuyên của tôi không được sử dụng phép thuật trong hầu hết các trường hợp, nó gây ra nhiều vấn đề hơn mang lại lợi thế – Robert

+0

Cảm ơn, Robert. Bạn có đề xuất một lớp cho mỗi loại mẫu không? – Prodikl

Trả lời

7

số lớp DocBlocks tài liệu, chứ không phải trường hợp.

Nói rằng, phpDocumentor có số lượng thẻ chú thích lớp cấp để lộ một số sự kỳ diệu:

Nhưng nó sẽ không hoạt động đối với các thuộc tính/phương thức dynamicall y được thêm vào lúc chạy vì các thuộc tính khác nhau giữa các cá thể.

+0

Cảm ơn bạn, câu trả lời đó, sau đó. Có, tôi đã sử dụng '@ property' rộng rãi trên các đối tượng ORM của chúng tôi, tôi chỉ hy vọng sẽ có tương đương với các khóa đối tượng được gán động. Cảm ơn! – Prodikl

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