PHPDoc ile bir PHP uzantısı Belgeleme

4 Cevap php

C bir PHP uzantısı yazdım ve benim kullanıcıların PHP IDE inline dokümanlar alacak böylece PHPdoc belgeleri oluşturmak istiyorsanız (bu durumda, Netbeans) benim uzatma çağırıyor.

İdeal birlikte uygulanması ve belgeleri tutmak için, C kodu PHPdocs gömerek bunu yapmak istiyorum.

O C içine PHPdocs gömmek mümkün varsayarsak, ne ekstra adımlar dokümantasyon yapmak için gerekli olan (PHP kodu PHPdocs için yaptığınız gibi) NetBeans görünür?

edit:

Ben ifade komut PHPdocs oluşturmak emin değilim ama O'Reilly Programming PHP, doc nesil kullanılan /* {{{ proto açıklama biçimidir:

The {{{ proto line is not only used for folding in the editor, but is also parsed by the genfunclist and genfuncsummary scripts that are part of the PHP documentation project. If you are never going to distribute your extension and have no ambitions to have it bundled with PHP, you can remove these comments.

4 Cevap

Çalışan bir yaklaşım uygun PHPdocs ile saplama fonksiyonları ile bir PHP dosyası olduğunu, daha sonra PHP uygulamasında dahil YAPMAYIN, ama yolu dahil Netbean en PHP eklemek DO (in File->Project Properties->PHP Include Path).

Bu yönlü türü tamamlama ve satır içi docs çalışır, ancak PHP işlevi birden beyanları ile karışık değildir.

Bu fonksiyonlar ve uzantıları inşa belgelenmiştir nasıl yana, bu uygulama olarak aynı dosyada dokümanlar tutmak iyi olurdu çünkü bu, biraz hacky görünüyor, ama aslında doğru bir yaklaşım gibi görünüyor - [(0) {bakın }]

örneğin:

C dosyasında:

PHP_FUNCTION(myFunctionStringFunction)
{
// extension implementation
}

Ve sonra bir PHP dosyası, saplama beyanı:

/**
 * My docs here
 * @param string $myString
 */
function myFunctionStringFunction($myString)
{
  die("Empty stub function for documenation purposes only.  This file shouldn't be included in an app.");
}

Yalnızca Yorumlar içine doğru Etiketler kullanmanız gerekir.

 /**
 * Returns the OS Languages for an Subversion ID
 *
 * @access  public
 * @param   int         $subVersionId   Subversion ID
 * @return  array       $results        Languages for Subversion ID
 */

You can find all available tags on the documenation PHPDoc

Bunu ben tam olarak bunu yapıyor, mevcut kod bulamadım gerçi, prototip dosyası oluşturmak için Reflection API kullanmak mümkün olduğunu düşünüyorum.

Uzatma iskelet yazılmış gibi:

/* {{{ */ and /* }}} */ 

The previous line is meant for vim and emacs, so it can correctly fold and unfold functions in source code. See the corresponding marks just before function definition, where the functions purpose is also documented. Please follow this convention for the convenience of others editing your code.