2011-10-18 27 views
7

Cách được khuyến nghị để ghi lại các tham số hàm hoặc phương thức có giá trị được mong đợi là hằng số được xác định trước là gì? Cho đến nay, tôi sử dụng kiểu dữ liệu của hằng số và tôi thêm một chút giải thích sau.Làm cách nào để ghi lại tham số mong đợi hằng số

Ví dụ:

<?php 

class Foo{ 
    const METHOD_GET = 'get'; 
    const METHOD_POST = 'post'; 

    /** 
    * Load a new foo 
    * 
    * @param string $method HTTP method to use (either Foo::METHOD_GET or Foo::METHOD_POST) 
    */ 
    public function load($method=Foo::METHOD_POST){ 
     // ... 
    } 

    /** 
    * Sort current foo 
    * 
    * @param int $sort_order Sort order (either SORT_ASC or SORT_DESC) 
    */ 
    public function sort($sort_order=SORT_ASC){ 
     // ... 
    } 
} 
+0

có vẻ tốt đẹp đối với tôi như là, mặc dù tôi có lẽ sẽ muốn có hai phương thức 'post()' và 'get()' và sortAsc() và 'sortDesc()' hoặc làm cho các yêu cầu http và sắp xếp các chiến lược đối tượng bên ngoài có thể chuyển sang Foo. – Gordon

+1

Đây là cuộc thảo luận về chủ đề này: https://github.com/phpDocumentor/phpDocumentor2/issues/557 – artspb

Trả lời

5

Cho rằng bạn có thể sử dụng một lớp gọi là dataype trong các thẻ param và return, tôi cũng hy vọng rằng bạn có thể sử dụng một hằng số đã biết. Khi bạn muốn chỉ định nhiều tùy chọn loại, bạn chỉ cần phân tách danh sách bằng các đường ống. Sửa đổi ví dụ của bạn:

/** 
* Load a new foo 
* 
* @param Foo::METHOD_GET|Foo::METHOD_POST $method HTTP method to use 
*/ 
public function load($method=Foo::METHOD_POST){ 
    // ... 
} 

Kể từ khi datatype trong trường hợp này là một tiếng nội-to-the-class giá trị, nó thậm chí có thể làm việc mà không có tiền tố classname:

* @param METHOD_GET|METHOD_POST $method HTTP method to use 
+0

Tôi đã thử nghiệm với một vài IDE và bản thân phpDocumentor. Rõ ràng, không ai trong số họ sẽ làm bất cứ điều gì đặc biệt với các loại param (chẳng hạn như tạo liên kết hoặc cho ăn danh sách tự động hoàn thành). Vì vậy, tôi đoán không có cách tiêu chuẩn để làm điều đó và bất cứ phương pháp nào tôi chọn sẽ không gây hại. Tôi sẽ xem xét ý tưởng của bạn. –

-2

Here tìm thấy thông tin về làm thế nào để ghi lại liên tục sử dụng PHPDoc

const/xác định nghĩa như nhau trong php

+0

Xin lỗi nhưng đó không phải là câu hỏi của tôi: Tôi muốn ghi lại tham số chức năng. (Và const/xác định là tương tự nhưng không tương đương như bạn đề nghị.) –

+0

Được rồi, tôi đã tìm thấy một cái gì đó cho bạn [ở đây] (http://stackoverflow.com/questions/3892063/phpdoc-class-constants-documentation) – user973254

+1

Đó là một câu trả lời cho cùng một câu hỏi. Tôi sẽ rất vui khi làm rõ bất kỳ phần nào của câu hỏi của tôi không rõ ràng với bạn, nhưng hãy đọc kỹ phần đầu tiên. –

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