Bestrafung für Verwendung von Deppenapostroph?

Hallo zusammen
Mir war bisher nicht bewusst, dass der Editor in der Pro-Konsole eine Bestrafung für die Verwendung von Deppenapostroph eingebaut hat. Falls man so eines bsp. in einem Kommentar verwendet, werden keine Namen mehr für die Variablen abgezeigt, sondern nur noch deren Nummern.

<?php

//Etwas Text, welchen Sinn es ist ein Deppenapostroph zu verwenden. Nehmen wir den Klassiker:
//Auto's bitte rückwärts parkieren...
//Wie man sieht, werden dann die Variablennamen unten nicht mehr angezeigt...
//entfernt man das "Deppenapostroph" nach "Auto" werden die Namen wieder angezeigt.

//Ein paar Variablen
$automatik = GetValue(45990);
$nachtmodus = GetValue(44612);
$temp_aussen = GetValue(47818);
$temp_wohnzimmer = GetValue(57030);
$feuchte_wohnzimmmer = GetValue(53353);
$temp_schlafzimmer = GetValue(48563);
$feuchte_schlafzimmer = GetValue(33667);
$leistung_pv = GetValue(38827);
$leistung_ohmpilot = GetValue(41957);
$pv_einspeisung = GetValue(25916); 
$leistung_klima = GetValue(48854);

Ohne Verwendung werden die Variablennamen angezeigt, was allerdings hier im Forum nicht dargestellt werden kann (die Namen fehlen dann auch wieder…) Aber bei Copy & Paste sieht man es.

Gruss Letraz

Nee, sieht man nicht. Außer man hat zufällig identische ObjektIDs.
Hier wäre jetzt ein zusätzlicher Screenshot sinnvoll gewesen :sweat_smile:
Michael

Screenshoot kann ich gerne liefern. Das Problem lässt sich aber problemlos mit eigenen Variablen reproduzieren…

Hier also das Bild, wenn bei identischem Code lediglich das Deppenapostroph weggelassen wird:

Ja, da greift die Erkennung von Strings fehlerhaft und zeigt deswegen keine Namen mehr an. Um das komplett zuverlässig zu machen, müsste man halt viel mehr Code verarbeiten und evaluieren, was eine wirklich große Baustelle wäre. Daher musst du dir aktuell selbst helfen und einfach irgendwo im Kommentar noch ein zweites Apostroph hinzufügen. Dann wird das als abgeschlossener String interpretiert und die ObjektIDs werden korrekt ausgewertet.

Ich habe schon oft gerätselt, warum das manchmal skriptweise „kaputt“ ist aber da ist der Parser wohl etwas „lazy“ :smiley:

Es scheint noch andere Konstellationen zu geben; manchmal funktioniert auch die Syntax-Hilfe nicht mehr, bspw wenn ich den !-Operator vor einem Funktionsaufruf verwende.