Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    una variabile come fosse una costante ma..variabile XD

    Allora...vorrei creare una variabile come fosse una costante...tranne per il fatto che ovviamente sia modificabile...

    per ora l'unico modo che ho trovato è dichiararla "global" all'interno delle varie funzioni in cui la uso...

    vorrei però evitare questo processo, almeno per questa variabile

    l'altro modo che ho trovato è usare le variabili static, sfruttando le funzioni e "usandole" come variabili...ma non è che mi soddisfi piu di tanto

    c'è un modo, o continuo con i global?XD

  2. #2
    L'utilizzo di variabili globali è una pessima pratica di programmazione, comunque ti suggerisco di iniziare leggendo il manuale ufficiale:

    http://www.php.net/manual/en/reserve...iables.globals

  3. #3
    mh no quello lo sapevo e volevo evitarlo...cmq ti spiego cosa volevo fare:

    io ho una serie di opzioni che cambiano la funzionalità del programma, ovviamente queste opzioni sono impostate dall'utente e quindi non sono costanti...o meglio, cambiano ogni tanto.

    Il problema è che per esempio ho una opzione di queste che è "mostra tooltip: SI/NO"...e fin qui tutto bene, potrei farla definire come costante una volta trovata l'opzione nel database, però ci sono alcune pagine che nonostante ci sia mostra tooltip: SI, io non devo far visualizzare le tip (perchè ne devo mettere alcune apposite di quella pagina), quindi come vedi mi serve...una COSTANTE ma variabile XD

    le globals vanno evitate e non ho intenzione di iniziare a usarle, suggerimenti su come "creare delle opzioni" per il php?

  4. #4
    però ci sono alcune pagine che nonostante ci sia mostra tooltip: SI, io non devo far visualizzare le tip (perchè ne devo mettere alcune apposite di quella pagina), quindi come vedi mi serve...una COSTANTE ma variabile
    In quella pagina è sufficiente NON utilizzare alcun controllo sull'opzione e visualizzare sempre il tooltip.

    suggerimenti su come "creare delle opzioni" per il php?
    Database, file di constanti, classe di configurazione etc.

  5. #5
    ma la classe di configurazione ad esempio (le costanti nn vanno bene per il problema prima spiegato, il database devo rieffettuare le query) supponendo

    Codice PHP:
    class opzioni {
      public 
    $prima_opzione=false;
    ...
    etc....
    }

    $mieopzioni=new opzioni();
    $mieopzioni->prima_opzione=true;

    function 
    bla() {
      global 
    $mieopzioni;
      if (
    $mieopzioni->prima_opzione) {
        echo 
    "la prima opzione è attiva";
      }
    }

    bla(); 
    però in questo modo sono costretto a usare "global" all'interno della function

  6. #6
    però in questo modo sono costretto a usare "global" all'interno della function
    Utilizza il pattern Singleton.

  7. #7
    ecco questo è perfetto...grazie

  8. #8
    Originariamente inviato da filippo.toso
    Utilizza il pattern Singleton.
    Potete segnalarmi qualche buona risorsa sulla questione?

  9. #9
    certo...cmq basta andare su www.php.net e cercare pattern singleton sulla online documentation...eccoti il link cmq

    http://it.php.net/manual/en/language.oop5.patterns.php

  10. #10
    Ciao,
    ho studiato la cosa e penso di essere arrivato a una soluzione ma vorrei avere la vostra conferma in modo da essere sicuro di non partire in quarta in direzione ostinata e contraria.

    Ho realizzato una classe chiamata Configuration che usa il pattern Singleton e che ha il compito di leggersi il sile di configurazione e di immagazzinarne i valori.

    Ora, in ogni funzione/classe in cui mi serve accedere ai valori di configurazione faccio così:
    codice:
    ...
    function a(){
    		$cfg = Configuration::getInstance();
    		echo $cfg->getValue('dbName');
    	}
    ...
    E' giusto/è la via migliore?

    Grazie!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.