Sprachen wie C und sogar C# (das technisch gesehen keinen Präprozessor hat) ermöglichen es Ihnen, Code wie diesen zu schreiben:
#DEFINE DEBUG
...
string returnedStr = this.SomeFoo();
#if DEBUG
Debug.WriteLine("returned string =" + returnedStr);
#endif
Das ist etwas, das ich gerne in meinem Code als eine Art Gerüst verwende, und ich frage mich, ob PHP etwas Ähnliches hat. Ich bin sicher, dass ich dies mit Variablen emulieren kann, aber ich kann mir vorstellen, dass die Tatsache, dass PHP in den meisten Fällen interpretiert wird, es nicht einfach macht, den Debugging-Code (da er nicht benötigt wird) automatisch zu entfernen, wenn er ausgeführt wird.