Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: phpdoc przyklad jak uzyc funkcji/metody
Forum PHP.pl > Inne > Hydepark
marcio
Elo mam dylemat chce sobie zaczac dokumentowac kod...juz mam wszystko zrobione...jednak mam pewne metody gdzie samo @access,@param,@return mi nie wystarcza chcialbym w zrodlo pliku w ktorym sie znajduje klasa podac maly przyklad uzycia metody.
Czy robi sie to za pomoca: http://manual.phpdoc.org/HTMLSmartyConvert...xample.pkg.html czy http://manual.phpdoc.org/HTMLSmartyConvert...source.pkg.html

Pytam bo nie jestem pewny...
Fifi209
Wydaje mi się jednak, że @source - wnioskuję tak po opisie.
Crozin
@example to ścieżka do pliku z przykładem. Pewnie zauważyłeś, że nieraz ściągając jakiś projekt masz foldery docs, src / lib, examples itp. - tu powinna być właśnie ścieżka do pliku z katalogu examples.
@source - za dokumentacją - Display source code of a function or method in the long description

Ty powinieneś po prostu skorzystać z długiego opisu tak jak to masz przykładowo tutaj: https://github.com/symfony/symfony/blob/mas...ClassLoader.php
marcio
Czyli to powinno byc poprawne:
  1. /**
  2. *Ustawia nam dla danej kolumny odpowiedni typ w html
  3. *@access public
  4. *@param string $key nazwa pola
  5. *@param string $type
  6. *przyklad uzycia np kolumna news_author w $this -> db_fields_equivalent jest typu text chcemy ja zmienic na textarea
  7. *<code>
  8. * <?php
  9. * $instance -> set_equivalent('news_author', 'textarea');
  10. * ?>
  11. *</code>
  12. */
  13. public function set_equivalent($field, $type)
  14. {
  15. if(array_key_exists($field, $this -> db_fields_equivalent))
  16. $this -> db_fields_equivalent[$field] = $type;
  17. }

Pytam bo tak ogolnie to nie bede na srv mial phpdoc ale nigdy nie wiadomo a samemu mi to pomoze w przyszlosci ;]
Crozin
Nawet nie jestem teraz na 100% pewien ale chyba powinieneś używać 4-ech spacji, zamiast tabulatora, <code /> możesz sobie darować bo samo wcięcie już spełnia tę funkcję. <?php i ?> też są zbędne. Samą dokumentację też można by pisać po angielsku - wygodniej tak jest.

  1. /**
  2. * Ustawia nam dla danej kolumny odpowiedni typ w html.
  3. *
  4. * Przykład użycia np kolumna news_author w $this -> db_fields_equivalent jest typu text chcemy ja zmienic na textarea:
  5. *
  6. * $zrobCosTam->dsadasda();
  7. * $instance -> set_equivalent('news_author', 'textarea');
  8. * $zrobCosTam->dsadasda();
  9. *
  10. * Bla bla bla bla - dalszy opis.
  11. *
  12. * @param string $key Nazwa pola
  13. * @param string $type
  14. */
  15. public function set_equivalent($field, $type) {
  16. if(array_key_exists($field, $this -> db_fields_equivalent)) {
  17. $this -> db_fields_equivalent[$field] = $type;
  18. }
  19. }


PS. W PHP stosuje się konwencję camelCase, czyli setEquivalent(), a @access jest zbędne ponieważ sam język to określa przy deklaracji metody.
marcio
thx
dokumentacja moze byc i w pl bo to raczej tylko dla mnie
co do @access to masz racje jednak gdybym chcial sobie postawic phpdoc na srv i wyswietlic dokumentcje to mysle ze bez @access sie nie obejdzie...ale byc moze sie myle!

Wiem wiem ze camelCase w C# tez ale troche pokodzilem w python'ie i tak mi zostalo ;p efekty uboczne haha.gif
Crozin
@access to pozostałość z phpDoca z czasów PHP4 kiedy to język nie umożliwiał określenia poziomu dostępu dla właściwości / metody. W PHP5 jest to wymagane i zawsze da się to określić na podstawie kodu dlatego też nie ma potrzeby korzystania z @access.
marcio
czyli nawet bez @access phpdoc potrafi wygenerowac dokumentacje z poprawnymi dostepami do metol/pol?
Crozin
Tak, takie rzeczy jak widoczność metody, abstrakcyjność czy finalność klasy itp. można wyciągnąć bezpośrednio z kodu (a dokładniej to korzystając z mechanizmów refleksji) dlatego też w komentarzach phpDoca tego się już nie powinno podawać bo jedynie zaśmieca kod.
marcio
o refleksji to ja wiem ale nie wiem jak stoi phpdoc dlatego pytam bo nigdy go nie uzywalem i nie wiem ze od php5 posiada "auto wykrywanie" widocznosci itp..itd...ogolnie thx ;p
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.