È ansible ridefinire le costanti di class (in PHP)?
per esempio
class B { const C_ThisIsAConstant = 1; } class A extends B { self::C_ThisIsAConstant = 2; }
No certo che no. Quindi non sarebbero "costanti".
Non è ansible ridefinire le "costanti" perché sono contant.
Se stai cercando di modificare una costante definita in un file incluso, puoi definire la costante prima dell'inserimento:
define ("PROCESS_NAME", "MIKE"); /* ... code ... */ include ("/path/to/included_file.php"); // also defines "PROCESS_NAME" /* ... code ... */
PROCESS_NAME sarà "MIKE".
Primo: No, non è ansible ridefinire le costanti di class. È imansible in each lingua, perché altrimenti una costante non sarebbe costante.
Ma quello che stai facendo è ansible, perché non ridefinisci una costante di class, ma definisci una costante unica per each class.
<?php class B { const C_ThisIsAConstant = 1; } class A extends B { const C_ThisIsAConstant = 2; } var_dump(A::C_ThisIsAConstant);
Emette int(2)
.
Ho pubblicato il mio framework YAPAF su github.com. Chiamiamolo alfa-stato. In each caso, YAPAF è in grado di modificare il valore di una costante di class (vedere https://github.com/SchulteMarkus/YAPAF/blob/master/tests/ManipulateConstantTest.php ).