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

    Blog fatto con PHP+XML..che ne pensate?

    Salve a tutti!
    Volevo avere un vostro giudizio per il mio blog! l'ho fatto senza usare database, xké non l'ho nel servizio di hosting, allora mi sono fatto la persistenza con file XML... Lo so, potete dirlo.. SONO UN PAZZO! Cmq molto petenti le librerie di php per la modellazione dei DOM! All'inizio un pò di smadonnamenti, ma poi (anke con l'ausilio di Xpath), è QUASI come usare un database!

    vi piace??? http://www.capponcino.it/alessio/blog.php

  2. #2
    bè, se non mostri i sorgenti è un po' difficile che ti possiamo dare dei pareri quindi allo stato delle cose sarebbe un 3d da annunci siti web

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    20
    perdonate l'ingnoranza...

    fino a che punto l'xml può essere usato al posto di un database?
    Le prestazioni di un db dovrebbero essere ottimizzate tanto da battere, a livello di prestazioni, l'xml.
    Ma a questo punto mi chiedo se il db è + efficiente quale altro uso può essere fatto dell'xml?
    Intendo ovviamente relativo alla progettazione di siti.

  4. #4
    Quarda, XMl è molto potente.. certo, un database è molto più veloce, ottimizzato ecc... io però sto parlando di un log, o al max di un sito internet di medie dimensioni.. Usare XML è efficacie solamente se i dati da immagazzinare non sono eccessivi (per eccessivi intendo che il file XML non superi la dimensione di 200-300Kbyte)..in genere uso questa tecnica:
    Il file/files xml li uso solamente per la logica strutturale dell'applicazione web (indici, strutture gerarchiche ecc...) e poi uso file di testo normali per le parti con contenuti xHTML da includere poi un una pagina PHP al momento della complilazione.. in pratica una cosa del genere:
    Codice PHP:
    <root>
       <
    comment id="1" data="gg/mm/aaa" ip="xx.xx.xx.xx" titolo="blablalba" include="comm_1.txt" />
       
    ECC...
    </
    root
    In questo caso php+DOM ti danno l'opportunità di scandire/esaminare la struttura xml e poi puoi ad esempio recuperare in giusto file di include, e includerlo nella tua pagina php, così da mostrarlo!

    DI SEGUITO UN O DI FUNZIONI DI ESEMPIO PER ESAMINARE/MODIFICARE/MANIPOLARE un XML DA PHP
    Codice PHP:
    <?php
    /* Funzione che crea un documento xml partendo dal 
     * nome del file xml e il nome dell'elemento root */ 
    function new_xml_doc($path_xml_file$root_node_name){
        
    /* creo il documento base */
        
    if(!file_exists($path_xml_file)){
            
    //creo il file vuoto
            
    $f fopen($path_xml_file"w") or
                die(
    "Impossibile creare il file $path_xml_file");
            
    fclose($f);    
            
            
    /*Scrivo nel file il root node*/
            
    $doc domxml_new_doc('1.0');
            
    $root $doc->create_element($root_node_name);
            
    $doc->append_child($root);    //metto il nodo radice nel document
                
            /*Scrivo il file*/
            
    $doc->dump_file(realpath($path_xml_file), falsefalse) or
                die(
    "Errore durante la scrittura del file xml: $path_xml_file");     
                
            
    $doc null;
        }
    }
    ?>
    Codice PHP:
    <?php
    /* Permette di effettuare le modifiche ad un file xml */
    function doc2file($doc$path_xml_file){
        
    /* backup del file dati */
        
    @copy($path_xml_file$path_xml_file ".old") or
            die(
    "errore durante la copia del file di backup");
            
        
    $doc->dump_file(realpath($path_xml_file), falsefalse) or
            die(
    "Errore durante la scrittura del file xml: $path_xml_file");         
    }
    ?>
    Codice PHP:
    <?
    /* Inserimento di una nuova entry */
    function add_element($path_xml_file$nome$descrizione){
        
    new_xml_doc($path_xml_file"root");    //creo il document base se non esiste
        
        
    $doc = @domxml_open_file($path_xml_file);
        
    $root $doc->document_element();    //il nodo root
        
        
    $id_max_entry get_max_id($path_xml_file);    //l'id massimo delle entry
        
        /* creo l'antry nuova con i figli */
        
    $entry $doc->create_element("entry");
        
    $entry->set_attribute("id"$id_max_entry 1);
        
        
    $nome_nodo $doc->create_element("nome");
        
    $descr_nodo $doc->create_element("descrizione");
        
        
    /* i contenuti dei figli */
        
    $nome_cdata_nodo $doc->create_cdata_section($nome);
        
    $descr_cdata_nodo $doc->create_cdata_section($descrizione);
        
        
    /* append */
        
    $nome_nodo->append_child($nome_cdata_nodo);
        
    $descr_nodo->append_child($descr_cdata_nodo);

        
    $entry->append_child($nome_nodo);
        
    $entry->append_child($descr_nodo);
        
        
    $root->append_child($entry);

        
    /* scrivo le modifiche nel file */
        
    doc2file($doc$path_xml_file);
    }
    ?>
    Codice PHP:
    <?
    /* Restituisce il numero di entrues */
    function get_num_of_entryes($path_xml_file){
        
    $query "/root/entry";    //query XPath per contare le entryes
        
    new_xml_doc($path_xml_file"root");    //creo il document base se non esiste
        
        
    $doc = @domxml_open_file($path_xml_file);
        
    /* Recupero numero entryes tramite Xpath per l'id univoco */
        
    $xp $doc->xpath_new_context();
        
    $xpathObj $xp->xpath_eval($query);
        
        return 
    count($xpathObj->nodeset);    //Numero totale delle entry
    }
    ?>
    Questi sono solamente piccolissimi esempi... per tutte le altre info:
    http://it.php.net/manual/it/ref.domxml.php

    PS: naturalmente gli sforzi di implementazioni sono molto maggiori rispetto all'usare un database... qui tutti il parser occorre farlo programmaticamente..non basta usare query SQLVVoVe: Ho iniziato ad implementare siti basati su XMl come "database" puramente per curiosità, ed ora non riesco a liberarmene!

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    20
    capisco....

    e cos'altro ci potrei fare con l'xml se non utilizzarlo come un db?
    se sviluppo un sito da solo... l'xml non mi è utile praticamente. o sbaglio?

  6. #6
    XML + XLST = XHTML! Cerca su google per chiarimenti! OPPURE:
    http://xml.html.it/guide/leggi/58/guida-xml-di-base/

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    20
    [modifico il post ke ho fatto.]

    la questione principale che nn capisco è come far interagire in modo utile l'xml con il php ad esempio.
    Ad esempio l'ajax fa questo ma nn capisco come..
    un altro impiego è quello usato in questo topic.. ossia xml come database dei contenuti del sito..

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.