Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    passare valore a variabile di classe

    Ho una classe

    class mappa{
    ......
    var $altezzaMappa= 200; // che deve essere un numero intero
    ...... quindi funzioni tipo:
    function visualizza(){ // che contiene una serie di istruzioni...di questo tipo

    $this->mostraMappa = "map.altezzaM(new mapHeight(".$long.",".$lat."), ".$this->altezzaMappa.");\n";

    Codice PHP:
    class mappa{
    //......
    var $altezzaMappa200// che deve essere un numero intero
    //...... quindi funzioni tipo:
    function visualizza(){  // che contiene una serie di istruzioni...di questo tipo

    $this->mostraMappa "map.altezzaM(new mapHeight(".$long.",".$lat."), 
    "
    .$this->altezzaMappa.");\n"
    --------
    recupero il valore altezzaMappa da un form (già verificato che viene passato, con un echo di prova)
    il PROBLEMA è che non riesco a far leggere il valore alla funzione di cui sopra: o mi genera un warning o non mi restituisce il valore nella funzione cioè non prende altezzaMappa come altezza.
    Luxx (°)
    Chi sa dica, chi non sa chieda.

  2. #2
    Utente di HTML.it L'avatar di Fichico
    Registrato dal
    Nov 2002
    residenza
    Bologna
    Messaggi
    581
    creati le funzioni getter/setter all'interno della classe
    poi la funzione che deve restituire quella roba (la stampa o la restituisce???) se la richiami dall'esterno deve essere di tipo public

    onestamente non si è ben capito cosa devi fare

  3. #3
    Non è molto chiaro il codice che hai postato. Amenochè il codice non è incompleto e la funzione deve restitituire qualcosa ad un altra funzione per gestire la mappa. Tu con
    Codice PHP:
    $this->mostraMappa "map.altezzaM(new mapHeight(".$long.",".$lat."),  ".$this->altezzaMappa.");\n"
    in pratica dici solo che il valore di mostraMappa è una stringa. Se fai un echo vedrai che il risultato sarà:

    map.altezzaM(new mapHeight(valoredi$long,valoredi$lat), 200).
    Quel newmapHeight però mi lascia un po' perplesso.
    Non è che per caso vuoi istanzare un altra funzione in quel punto?
    Fare o non fare....non c'è provare!

  4. #4
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    1- convertire tutto a semplcici funzioni
    2- studare OOP prima di implementare classi

  5. #5
    Originariamente inviato da Sbidiguda
    Non è molto chiaro il codice che hai postato. Amenochè il codice non è incompleto e la funzione deve restitituire qualcosa ad un altra funzione per gestire la mappa.
    Tutto il resto (che non è roba mia) funziona l'unico pbm è trovare la sintassi giusta per passare il valore,
    la variabile da dove devo prendere il valore è mettiamo $hMap

    attualmente nella classe la variabile che viene richiamata in funzione è dichiarata così:

    var $altezzaMappa= 200;

    faccio esempi di come non funziona

    var $altezzaMappa=$hMap; -> warning...

    var $altezzaMappa= '$hMap'; -> warning...

    var $altezzaMappa= '<? echo "$hMap";?>'; -> warning...

    ...
    nella funzione:
    attualmente è così
    $this->mostraMappa = "map.altezzaM(new mapHeight(".$long.",".$lat."), ".$this->altezzaMappa.");\n";

    esempi di come nn funziona

    $this->mostraMappa = "map.altezzaM(new mapHeight(".$long.",".$lat."), ".$this->$hMap.");\n"; -> warning...

    $this->mostraMappa = "map.altezzaM(new mapHeight(".$long.",".$lat."), ".'$hMap'.");\n"; -> niente warning funge ma non prende il valore

    mentre se sostituisco ".$this->altezzaMappa." con ".'200'." cioè

    $this->mostraMappa = "map.altezzaM(new mapHeight(".$long.",".$lat."), ".'200'.");\n";

    funziona (e grazie al piffero.. gli ho dato il valore!), ma non ho rilevato la variabile.

    Ne deduco che sia un problema di sintassi.
    Luxx (°)
    Chi sa dica, chi non sa chieda.

  6. #6
    Come ti ho detto prima, se richiami quella funzione da un form è ovvio che i parametri partono, ma per utilizzarli dentro quella determinata funzione devi recuperarli, cosa che non mi sembra sia stata fatta, dall'array $_POST. Per lui hMap messa li in quel modo non esiste come variabile valida allo scopo della funzione, è una variabile vuota messa li così...non si sà per cosa.
    Poi, se tu usi gli apici singoli (' ') o doppi (" ") vuol dire che stai usando una stringa o un testo e nella valorizzazione di una variabile, se li usi, non fai altro che dire che la tua variabile è uguale al testo specificato in mezzo agli apici. Stessa cosa per il "new mapHeight", se quello deve istanziare una funzione non credo possa farlo visto che è solo un semplice testo buttato li, amenochè non debba essere inviato ad un altra funzione (magari js o jQuery?). Come ha detto Virus, studiare OOP e in questo caso anche il significato della sintassi che è stata usata non sarebbe un brutto inizio.

    Per curiosità, mi sembra di capire che stai cercando di implementare o usare una cartina geografica con latitudini e longitudini...non sono API di google maps vero?
    Fare o non fare....non c'è provare!

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