Domanda

Sfondo:

PHPDoc ( http://www.phpdoc.org/ ) è uno strumento geniale per l'estrazione documentazione html delle tue classi o metodi dai commenti nel tuo File. L'aggiunta di commenti PHPDoc presenta anche altri vantaggi, se lo si utilizza un IDE come Zend o Netbeans, utilizzerà PHPDocs per mostrarti suggerimenti per il completamento automatico.

La maggior parte dei tracker dei problemi ha una funzione in cui puoi impegnarti sistema di controllo versione con un commento speciale, e lo farà collega automaticamente tale impegno a tale problema.

Quindi, ecco cosa voglio in un sistema: commetto del codice con uno speciale commento, il tracker del mio problema lo collega a un problema. Poi guarda il impegnarsi e capire quali metodi e classi ho cambiato. Allora dice " Se stai cercando documentazione su questo problema, prova questi bit di PHPDoc: ClassX.FunctionY, ClassZ.VariableP " ;. esso indirizza automaticamente gli utenti alla documentazione che potrebbe essere pertinente. Penso che questa sarebbe una grande caratteristica.

Domanda:

Quindi il pezzo che manca è qualcosa per prendere un codice PHP diff, e capire quali classi e metodi sono cambiati. Qualcuno ne ha preso uno puntatori su un codice che può farlo?

Grazie in anticipo, James

È stato utile?

Soluzione 3

http://uk3.php.net/reflection

PHP5 ha metodi per separare una classe ed esaminare tutti i metodi, incluso dandomi i numeri di riga che devo confrontare con il diff. Usando questo posso iniziare a lanciare a mano la mia soluzione.

Altri suggerimenti

Se stai utilizzando subversion , puoi vedere una differenza di tutti i file che sono stati modificati nella progetto. E guarda come sono diversi.

Esistono software con supporto di sovversione integrato, come Trac.

Ecco un'immagine di TracDiff

È necessario uno strumento che comprenda a fondo la struttura di PHP, ovvero che sia in grado di analizzare il testo sorgente di PHP proprio come fa il motore PHP.

Il nostro " Smart Diff " fa questo, abilitando un confronto di coppie di file PHP che sai essere la versione originale e modificata. Confronta AST e trova le modifiche minime per mappare l'una nell'altra. Se il vecchio e il nuovo metodo sono del tutto simili, lo scoprirà e ti dirà come uno è stato modificato per ottenere l'altro. Vedi http://www.semdesigns.com/Products/SmartDifferencer/index.html

puoi scrivere uno script post commit che riceve i file modificati e li guarda per fare quello che vuoi

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top