Sto lavorando per creare manualmente il mio CMS personalizzato in PHP e ho alcune costanti che ho definito. C'è un modo semplice per modificare le costanti? Stavo pensando di usare qualcosa come fopen()
quindi cambiarlo, ma non ho mai usato le funzioni del filesystem.Come modificare le costanti PHP?
risposta
Una costante è un identificatore (nome) per un valore semplice. Come suggerisce il nome , quel valore non può cambiare durante l'esecuzione dello script (eccetto per le costanti magiche, che in realtà non sono costanti). Una costante fa distinzione tra maiuscole e minuscole per impostazione predefinita. Per convenzione, gli identificatori costanti sono sempre in maiuscolo.
Il nome di una costante segue le stesse regole di qualsiasi etichetta in PHP. Un nome di costante valido inizia con una lettera o underscore, seguito da qualsiasi numero di lettere, numeri o caratteri di sottolineatura. Come un normale espressione, si sarebbe espresso così: [a-zA-Z_ \ x7f- \ xff] [a-zA-Z0-9_ \ x7f- \ xff] *
non posso dire meglio della pagina php.net! – Tech4Wilco
Per quanto ne so, una volta impostato, una costante non può essere modificata.
No. Sono costanti, come in "constant - ciò che è permanente o invariabile" (Wikizionario). Una volta definiti, non c'è modo di cambiarli. Per citare The Fine Manual, sezione Costanti:
valore [di una costante] non possono cambiare durante l'esecuzione dello script.
Mi dispiace per essere errato ... per me le costanti sono solo un valore che può essere utilizzato in un intero sito senza dover continuare a definirli. Avrei dovuto essere più chiaro di ciò che stavo cercando di ottenere. Sto creando il mio CMS solo per mio uso personale e mi chiedevo come avrei potuto creare un modo per modificare le variabili o qualunque fosse un buon termine per loro senza dover modificare manualmente il file oi file che li contengono. Mi dispiace. – legobear154
Non c'è bisogno di scusarsi per non essere corretto, capita a tutti :) – Piskvor
Ok. Quale sarebbe il modo migliore per creare un file di configurazione? Ho intenzione di aggiungere un pannello di amministrazione al mio CMS e voglio che le variabili siano modificabili da lì. – legobear154
Le costanti sono costanti e pertanto non possono essere modificate. Se si desidera modificare le costanti del server come allow_url_fopen, vale a dire la responsabilità dell'host, chiedere loro. Se si vuole cambiarli in PHP, utilizzare le variabili
UPDATE
Nel caso in cui la verità è quello che dice Corbin e volete modificarli di installazione, si vorrebbe fare quanto segue: 0. Cambia i valori costanti in sg. come %%constant1
. 1. leggi il codice in una variabile. 2. Consenti all'utente di impostare le variabili. 3. Usa str_replace su tutti come str_replace ("%% constant1", $ _ POST ["value1"], $ configfile). 4. Metti $ configfile come contenuto di un file.
UPDATE 2
Per la propria CMS solo, suggerisco il seguente: negozio tutti costanti in un unico file, quindi sarà necessario modificare un solo file. E forse la soluzione precedente potrebbe funzionare per un editing più semplice, ma l'IDK se ne vale la pena.
No. Non è possibile modificare le costanti
costanti significa il valore è costante, quindi non è possibile modificare le costanti.Se si cambierà le costanti è necessario utilizzare le variabili in stato di costanti:
define('ROOT', '/some/path');
echo ROOT; // echo's /some/path
define('ROOT', '/some/other/path'); // gives an error
echo ROOT; // gives /some/path (if there were no error
$root = '/some/path';
echo $root; // echo's /some/path
$root = '/some/other/path';
echo $root; // echo's /some/other/path
Credo che significa, nel caso di uno script di installazione, dove si desidera memorizzare una variabile di ingresso ad un file di configurazione, per essere usato nel suo CMS, una volta completata l'installazione. In tal caso, non modifica la costante in fase di esecuzione.
hes probabilmente ottenuto un file in questo modo:
define(DB, '');
define(USER, '');
define(PASS, '');
define(HOST, '');
e vuole creare uno script che popolano queste costanti con i dati in modo che possa essere utilizzato nel CMS.
in PHP, but only if you have the runkit extension installed.
However, I must question why you're even defining a constant if you need to change it. It would no longer be a constant once changed and it's appropriate to use constants in your context if it needs to be changed. You may want to consider making it a global variable if it needs to be accessible in other functions or parts of your code, or write proper code by:
Passing the data as parameters to a function, then returning the manipulated values (if coding in a procedural fashion).
Set the value in a class' property, then access the value using $this within your class (if coding in an OO fashion).
- 1. Come mantenere le mie costanti in PHP
- 2. Le costanti private sono possibili in PHP?
- 3. Autoloading costanti in PHP?
- 4. Costanti dinamiche in PHP?
- 5. Come faccio a esaminare le costanti definite in PHP?
- 6. Ridefinizione delle costanti in PHP
- 7. lista tutte le costanti definite da un file in php
- 8. Perché le funzioni incorporate di PHP utilizzano le costanti anziché solo le stringhe come parametri?
- 9. citando le costanti in php: "questo è un MY_CONSTANT"
- 10. Posso usare le costanti all'interno delle funzioni in PHP?
- 11. Costanti PHP con ambito locale
- 12. PowerShell supporta le costanti?
- 13. Le costanti sono supportate in ColdFusion?
- 14. Leiningen: come definire le costanti in project.clj?
- 15. come condividere costanti (enumerazioni) tra le classi?
- 16. come modificare .htpasswd usando php?
- 17. Come prevedere le maree usando le costanti armoniche
- 18. Modificare l'URL tramite PHP
- 19. Come modificare il file xml utilizzando PHP
- 20. Utilizzo di costanti come valori di funzione predefiniti in PHP
- 21. PHP: qual è la differenza tra le variabili globali e le costanti
- 22. È possibile definire le costanti in css?
- 23. Perché JQuery non consolida le sue costanti?
- 24. Progettazione database: chiavi di database sql corrispondenti alle costanti php?
- 25. Esportare le costanti dall'intestazione con Cython
- 26. È una stringa appropriata per le costanti
- 27. perché utilizzare costanti stringa vs costanti enum?
- 28. costanti di condivisione tra le varie lingue
- 29. segnali Collegare le slot con valori costanti
- 30. perché le costanti java sono dichiarate statiche?
Si consiglia di rivisitare la definizione del dizionario di "costante". – BoltClock
costanti e fopen? –
Perché è necessario modificare le costanti? Se non sono costanti per tutto il codice, utilizzare le variabili – Tom