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

    Debbug remoto di una classe.

    Ho creato una classe che in locale funziona senza problemi ed in remoto no...

    Come posso farne il debbug?

    In particolare mi servirebbe seguire lo sviluppo di un array.

    Quali sono le tecniche?
    Arjuna

    finding solutions

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    stampa a video tutte le variabili a ogni cambiamento.

    Io quando faccio debug uso questa funzione (soprattutto per gli array)

    codice:
      function pre($var) {
    
        if(empty($var)) {
    
          echo "variabile vuota";
    
        }
    
        echo "<pre>";
        print_r($var);
        echo "</pre>";
      }
    La richiamo e ottengo questo risultato:

    codice:
    $prova = array("test"=>"test1","testA" =>"test2");
    
    pre($prova);
    --
    Array
    (
        [test] => test1
        [testA] => test2
    )

  3. #3
    print_r lo uso spesso ma non basta.
    L'array è vuoto.
    Io voglio sapere perchè.

    Ecco in sintesi il file che non funziona:



    codice:
    <?php
    class gallery {
    	var $struct;
    	var $fdata;
    	var $data;
    	function gallery ($fdata) {
    		$this->struct = array();
    		$this->data = $this->parse_file($fdata);
    	}
    	function startElement($parser, $name, $attrs) {
    		$tag = array("name"=>$name,"attrs"=>$attrs);
    		array_push($this->struct, $tag);
    	}
    	function data($parser, $data) {
    		if(trim($data)) {
    			$this->struct[count($this->struct)-1]['data']=$data;
    		}
    	}
    	function endElement($parser, $name) {
    		$this->struct[count($this->struct)-2]['child'][] = $this->struct[count($this->struct)-1];
    		array_pop($this->struct);
    	}
    	function parse_file($file) {
    		$xml_parser = xml_parser_create();
    		xml_set_element_handler($xml_parser, 
    array($this,"startElement"), array($this,"endElement"));
    		xml_set_character_data_handler($xml_parser,
     array($this,"data"));
    		$parse = xml_parse($xml_parser, file_get_contents($file));
    		if(!$parse) {
    			die("XML parsing error");
    			xml_parser_free($xml_parser);
    		}
    		return $this->struct;
    	}
    }
    $album = 'foto';
    $file = "xmlData/".$album.".xml";
    $gallery = new gallery ($file);
    print_r ($gallery->data);
    ?>
    il file xml esiste ed è ben formato.

    codice:
    <?xml version='1.0'?>
    <elenco>
    	<foto nome='foto01' link='album/foto/' />
    	<foto nome='foto02' link='album/foto/' />
    	<foto nome='foto03' link='album/foto/' />
    	<foto nome='foto04' link='album/foto/' />
    </elenco>
    Non capisco perchè l'array che in locale viene regolarmente popolato, in remoto non funziona.
    Arjuna

    finding solutions

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    bhe innanzi tutto appurerei che alla funzione parse_data arrivi il file, poi controllerei se l'evento start element e end element vengano richiamati mettendo nelle relative funzioni un echo che dimostri il passaggio... avanza per gradi e cerca di capire se l'array da pieno viene svuotato o se non viene mai riempito...

  5. #5
    ho usato tre echo.
    uno per verificare il file
    uno per printare lo start
    uno per printare l'end

    il locale funge tutto.
    in remoto non mi visualizza la pagina.

    senza visualizzazione non posso verificare un cavolo.

    senza gli echo mi da solo l'array vuoto
    Arjuna

    finding solutions

  6. #6
    ora mi stapa i risultati... chi lo capisce è bravo...

    passo a verificare l'array
    Arjuna

    finding solutions

  7. #7
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    non capisco, se fai un echo non mostra nulla?

    sei sicuro che non sia un errore banale (tipo non aver istanziato la classe)?

    se li non va un motivo c'è, non ti fissare sul fatto che in locale va...

    ciao

  8. #8
    L'array si svuota all'inizio di endElement.

    startElement lo lavora bene.
    Ma come esce da quella funzione ed entra in endElement risulta vuoto.

    Ho impostato una echo alla fine di startElement e una all'inizio di endElement.
    Per questo posso dire così.

    Pare che l'array non venga riformattato quando esce da una funzione.

    cosa significa?
    Arjuna

    finding solutions

  9. #9
    Please Help me!
    Arjuna

    finding solutions

  10. #10
    usa il dom se ti serve parsare un file

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.