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

    Problemi con dati residenti dentro una classe

    Salve,
    il ho creato una classe, dove una variabile è un array di oggetti di un'altra classe. Creo tutti gli oggetti dell'array nel costruttore, e dentro questo metodo tutti gli oggetti funzionano correttamente (accedo a loro senza problemi e ai loro metodi)
    Ma all'infuori di questo metodo è come se l'array creato si perdesse.. pensavo fosse un problema dello scope di una variabile, ma non credo sia questo il problema.. quale potrebbe essere il problema secondo voi?

    Posto il codice:

    Grazie mille in anticipo!

    Codice PHP:
    Class Process {
        var
          
    $nodes = array(); // Questo è l'array che dà problemi
          
        
    function Process() {
            
    $forms Process::_createNodeForms(); // Array di strutture Form()
            
    for ($i 0$i numNodi$i++) {
                
    $nodes[$i] = new Node("Nome""Tipo");
                
    $nodes[$i] -> setForm($forms[$i]);
            }
            
    //echo  $nodes[1] -> getCodeForm(); #OK funziona. Ma la stessa chiamata anche in un altro metodo della stessa classe non funziona!
        
    }
        
        function 
    _createNodeForms() {
            
    //$forms = array(numNodi);
            
    $forms = Array();
            
    $i 0;
            
    //foreach ($forms as $k => $v) { // Creo il form associato ad ogni nodo
            
    for ($i=0$i numNodi$i++) {
                
    $entity "";
                switch (
    $i) {
                    case 
    0:
                        
    $forms[$i] = new Form("Nome"$entity);
                        
    $forms[$i] -> addDescription("Inserisci i dati form UNO:");
                        
    $forms[$i] -> addText("id1""id1");
                        
    $forms[$i] -> addText("text1""text1");
                        break;
                    case 
    1:
                        
    $forms[$i] = new Form("Nome"$entity);
                        
    $forms[$i] -> addDescription("Inserisci i dati form DUE:");
                        
    $forms[$i] -> addText("id2""id2");
                        
    $forms[$i] -> addText("text2""text2");
                        break;
                    case 
    2:
                        
    $forms[$i] = new Form("Nome"$entity);
                        
    $forms[$i] -> addDescription("Inserisci i dati form TRE:");
                        
    $forms[$i] -> addText("id3""id3");
                        
    $forms[$i] -> addText("text3""text3");
                        break;
                    case 
    3:
                        
    $forms[$i] = new Form("Nome"$entity);
                        
    $forms[$i] -> addDescription("Inserisci i dati form QUATTRO:");
                        
    $forms[$i] -> addText("id4""id4");
                        
    $forms[$i] -> addText("text4""text4");
                        break;
                }
            }
            return 
    $forms;
        }
        
    // Fine Class Process 
    Prima di dire che sei un Webmaster, guarda in giro per la rete....

  2. #2
    Non riuscivo a trovare la soluzione, poi all'improvviso ho capito.. nell'istanziazione delle classi dell'array non ho usato il $this.. ecco xkè le strutture create non erano accessibili all'esterno del metodo.. distrazione..

    Ciao a tutti!
    Luca
    Prima di dire che sei un Webmaster, guarda in giro per la rete....

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.