L'idea del breakpoint mi sembra difficile da realizzare in quanto sospende l'esecuzione dello script ma non lo ferma sempre permettendo di visualizzare i valori delle variabili, etc... La vedo dura come funzione php richiamata da un browser.

Per un altro linguaggio che uso al lavoro avevo pensato ad una serie di funzioni che avrebbero soltanto riempito un file di log solo per essere sicuri che tutte le parti del programma siano state testate. Ad esempio :

Codice PHP:
if ($a == 1) {
  
log("prima di calcola_1()");
  
calcola_1();
} else {
  
log("prima di calcola_2()");
  
calcola_2();

Puo' sembrare stupido, ma dopo un certo numero di righe e/o di condizioni non si puo' essere sicuri che tutte le righe del programma siano state testate e questo fa si che alcuni bug possono scattare dopo anni e anni di uso senza alcun problema.