PHP 7.3 - define(): Declaration of case-insensitive consta

Hi,

teste gerade die 5.1 [testing]. Beim Aufruf von Constanten


Include 'zwaveIDs.ips.php'; // ID des zw-dimmers
ZW_SwitchMode(ZW_IDswitch01, $_IPS['VALUE']);

Das Script zwaveIDs.ips.php lautet:

<?
 // Hier können die IDs von wichtigen instanzen oder scripten o.ä.
  define ("ZW_IDswitch01", 44150,true);
 // define ("ZW_IDswitch02", 52499,true); // Außen
  //define ("ZW_IDswitch03", 15016,true); // Außen
  define ("ZW_IDswitch04", 27546,true);
  define ("ZW_IDswitch05", 33838 ,true);  // Terasse Ost  
  define ("ZW_IDswitch06", 42476,true);
  define ("ZW_IDswitch07", 28705,true); // Außen Weat
  define ("ZW_IDswitch08", 48171,true); // Außen Terasse West Lampe 1
  define ("ZW_IDswitch09", 34017,true); // Außen Terasse West Lampe 1
  define ("ZW_IDswitch10", 19432,true); // Esszimmertisch
  define ("ZW_IDswitch11", 12057,true); // FREI  
   
  define ("ZW_IDdimmer01", 22685 ,true);
  
?>

kommt nun folgende Fehlermeldung.

Abort Processing during Fatal-Error: define(): Declaration of case-insensitive constants is deprecated

Liegt wohl an der neuen PHP Versiuon (7.3)

Ich bin nicht so fitt darin. Kann mir jemand helfen was ich ändern muss.

Danke
hardlog

Versuch es mal mit Großbuchstaben bei der Definition.

Uli


Deprecate and Remove Case-Insensitive Constants: Die Unterstützung Case-insensitiver Konstanten wird als veraltet eingestuft und soll in der nächsten Major-Version entfernt werden. Beispiel:

define('FOO', 42, true); // Deprecated: define(): Declaration of case-insensitive constants is deprecated
var_dump(FOO); // Ok!
var_dump(foo); // Deprecated: Case-insensitive constants are deprecated. The correct casing for this constant is "FOO"

Gesendet von iPhone mit Tapatalk

Hallo
Ich denke , dass TRUE ist das Problem.
Ab 7.3 soll das definieren mit 3.Parameter „missbiligt“ werden.
Das es in Error laeuft ist aber komisch.
Wenn man den 3.Parameter auf „TRUE“ setzt soll zwischen
Gross und Kleinschreibung nicht unterschieden werden.

Gesendet von iPad mit Tapatalk

Hmmm,

Wenn ich es auf FALSE setzte geht es. Muss ich das verstehen?

Nimm mal den 3. Parameter ganz weg.
Ich persoenlich schreibe in dem Fall alles Gross.
Diese TRUE sagt aus , dass in deinem Script bei diesem
definierten Konstanten nicht zwischen Gross und Klein
unterschieden werden soll.
wie oben beschrieben ging bis 7.3
define (‚FOO‘,42,true);
var_dump (foo);

Der 3.Parameter soll mit 8.0 ganz wegfallen.

Gesendet von iPad mit Tapatalk

Danke!
Hab ich jetzt so gemacht (ohne 3. Parameter).