Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2017
    Messaggi
    15

    Richiamo IP tramite define

    Salve, in poche parole nel mio progetto che sto realizzando c'è un file dove ho bisogno di definire alcune variabili come l'IP.

    E' corretto definirlo cosi richiamandolo come costante?
    Codice PHP:
    define('IP',$_SERVER['REMOTE_ADDR']);
    echo 
    IP
    Perchè richiamarlo con la variabile non mi funziona.

    Con define funziona perfettamente e volevo sapere appunto se è corretto

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    601
    Non lo è in quanto l'ip è una variabile e non una costante.

    Con un semplice:
    codice:
    $ip = $_SERVER['REMOTE_ADDR'];

    Dovrebbe funzionare senza problemi. Perchè dici che usando una variabile non ti funziona?

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2017
    Messaggi
    15
    Quote Originariamente inviata da M4V1 Visualizza il messaggio
    Non lo è in quanto l'ip è una variabile e non una costante.

    Con un semplice:
    codice:
    $ip = $_SERVER['REMOTE_ADDR'];

    Dovrebbe funzionare senza problemi. Perchè dici che usando una variabile non ti funziona?
    Perchè essendo il progetto realizzato in mvc, i dati vengono stabiliti nella classe principale che richiama i controller.
    Cioè
    Codice PHP:
    class App {
    //
    public function __construct(){
    define('LANG'$this->lang);
    define('CONTR'$this->contr);
    define('IP'$_SERVER['REMOTE_ADDR']);
    }

    E poi richiamati nelle varie classi.
    Codice PHP:
    class uno {
    public function 
    index() {
    // richiamo
    }

    Se li imposto come variabili non vengono richiamati

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    601
    Beh basta passarli per poterli richiamare.

    Ma questi dati come si comportano? Variano da sessione a sessione? Da utente a utente? O sono di fatto delle costanti di configurazione?

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2017
    Messaggi
    15
    variano da utente a utente. In che senso basta passarli?

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    601
    In questo caso io farei così:

    - Creerei un oggetto User dove gestire le logiche relative al singolo utente

    - Salverei i valori di cui parli nel db per ogni singolo utente e li richiamerei dentro all'oggetto user per averli disponibili come proprietà all'interno dell'oggetto.

    - Usando la dependency injection passerei l'oggetto User, istanziato con i corretti valori, al costruttore delle classi che ne richiedono l'utilizzo, in questo modo avresti i dati di cui parli disponibili in ogni classe che li necessita.

    Come ti ho detto per passare dei valori tra un controller e gli oggetti che lui istanzia basta passare i dati all'interno del costruttore della classe istanziata e li assegnarli ad una proprietà della classe così da poter essere utilizzati a piacimento.

    Guardati anche come funziona la dependency injection in php, ti servirà a capire questo genere di passaggi di dati e perché sono molto utili.

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2017
    Messaggi
    15
    Quote Originariamente inviata da M4V1 Visualizza il messaggio
    In questo caso io farei così:

    - Creerei un oggetto User dove gestire le logiche relative al singolo utente

    - Salverei i valori di cui parli nel db per ogni singolo utente e li richiamerei dentro all'oggetto user per averli disponibili come proprietà all'interno dell'oggetto.

    - Usando la dependency injection passerei l'oggetto User, istanziato con i corretti valori, al costruttore delle classi che ne richiedono l'utilizzo, in questo modo avresti i dati di cui parli disponibili in ogni classe che li necessita.

    Come ti ho detto per passare dei valori tra un controller e gli oggetti che lui istanzia basta passare i dati all'interno del costruttore della classe istanziata e li assegnarli ad una proprietà della classe così da poter essere utilizzati a piacimento.

    Guardati anche come funziona la dependency injection in php, ti servirà a capire questo genere di passaggi di dati e perché sono molto utili.
    Grazie per l'aiuto e per i consigli

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 © 2019 vBulletin Solutions, Inc. All rights reserved.