Console File di Testo

  • Creatore Discussione Creatore Discussione olGerva
  • Data di inizio Data di inizio

olGerva

Nuovo Utente
11 Giu 2008
14
0
0
Console File di Testo
GoodWeb
Sto realizzando una mini console che mi permetta di gestire un sito web di medie dimensioni.
Nonostante sono consapevole che l'utilizzo di MySQL o altro data base relazionale sia il meglio, ho voluto comunque sviluppare il tutto basandomi su uno pseudo data base "FlatFile".

Ora mi trovo ad un bivio .... sto cercando di capire cosa sia meglio fare, premetto che non sono un programmatore, ma parlo in qualità di autodidatta.
Mi spiego ....

Ho diverse tabelle (un file di testo per ogni categoria: es. grafica, internet, sicurezza, ...) e al loro interno gestisco le informazioni come array
PHP:
$product_develop = array
    0 => array( 'subcat'		=> "Database",
				'url_file'		=> "database.php",
				'name'			=> "DBDesigner 4",
                'link'			=> "http://www.fabforce.net/dbdesigner4/",
                'desc'			=> "<b>DBDesigner</b> &egrave; un programma .............",
                'wiki'			=> "http://it.wikipedia.org/wiki/Base_dati",
                'keysoft'		=> array ("DBDesigner", "DBDesigner data base", "Database Designer"),

Con un ciclo "foreach" gestisco e manipolo le varie info.

Un file "config" preimposta le diverse tabelle e le inizializza
PHP:
/** DB CatDevelop			**/  $DBsubdevelop = "db_cat_develop.php";
/** DB Cat Include			**/  include_once ($Path.$DBsubdevelop);

Il problema:
a) io inizializzo TUTTE le tabelle dal file config, anche se non necessarie in quel momento.
Mi chiedevo se questo possa influire sulla resa e prestazioni del sito e di conseguenza sull'utilizzo delle risorse del computer.

b) ho visto in rete diverse librerie / classi per la gestione dei file di testo come data base, in alcuni casi ho notato che gli stessi richiamano la funzione e passano i diversi record in modo sequenziale nell'array filed[0], filed[1], filed[2], ...
Viceversa io apro una chiamata al data base con il nome riportato nel file config ($DBsubdevelop), anche se poi utilizzo lo stesso script di lettura per tutte le tabelle.
Mi chiedevo se anche questo comporti un utilizzo sbagliato o maggiore delle risorse del PC.

Spero di essere stato chiaro, in caso contrario chiedete e vi sarà dato.
Se qualche d'uno vuole collaborare è ben accetto.....

Grazie a tutti
 
Ultima modifica:
a) se per inizializzare intendi "aprire" i file corrispondenti alle tabelle allora si, in presenza di molti file o di file di grosse dimensioni potresti avere un decremento delle prestazioni perché il sistema alloca una porzione di memoria per ogni file in modo da gestire lo streaming di dati.
b) le classi per la lettura dei flat come db sono concepite in genere per leggere qualsiasi file indipendentemente dal contenuto, non ci sono particolari problemi se i dati da gestire sono pochi.
 
GoodWeb
Grazie per la risposta e scusa per il ritardo, ma il ponte è stato motivo di relax completo .... ;-)

a) se per inizializzare intendi "aprire" i file corrispondenti alle tabelle allora si, in presenza di molti file o di file di grosse dimensioni potresti avere un decremento delle prestazioni perché il sistema alloca una porzione di memoria per ogni file in modo da gestire lo streaming di dati.
Si intendo "aprire" e quindi hai dato conferma ai miei sospetti. Allo stesso modo se sul server ho "tanti" siti strutturati con i flat file (anche se hanno pochi file) credo valga la stessa regola ..... anzi forse peggio o sbaglio.

b) le classi per la lettura dei flat come db sono concepite in genere per leggere qualsiasi file indipendentemente dal contenuto, non ci sono particolari problemi se i dati da gestire sono pochi.
In questo caso credo di essermi espresso male io e non so bene come esporre il problema, ma ci riprovo....
OK lo script di lettura legge allo stesso modo dati indistintamente dal loro formato o lunghezza e quantità. Ma il mio problema è riferito al fatto che per ogni chiamata "foreach" passo allo script il nome del mio DB "foreach ($$IDCatsub as $item_post)" definito nel file config.
Ora avendo circa 20 file DB, volevo sapere se anche questo poteva incidere sulle prestazioni. (Spero di essermi espresso bene, eventualmente annullo la richiesta evitando di disturbare oltre)

In compenso ho scoperto SQlite (scusate se solo ora, ma come detto sono autodidatta e sostanzialmente mi sto divertendo mente imparo).
Volevo sapere cosa ne pensate e se suggerite il suo utilizzo rispetto a FlatFile

Grazie 1000
 
SQLite è sicuramente più avanzato di un file di testo semplice, questo perché ti mette a disposizione un linguaggio apposito per le relazioni tra i dati (SQL).
Ma a questo punto perché non utilizzare direttamente un database?
 
SQLite è sicuramente più avanzato di un file di testo semplice, questo perché ti mette a disposizione un linguaggio apposito per le relazioni tra i dati (SQL).
Ma a questo punto perché non utilizzare direttamente un database?

Perchè il mio intento è quello di avere tutto nella root principale del dominio, facilitando eventuali manutenzioni e installazioni anche su hosting "poveri" (senza MySQL).
In poche parole, dopo aver affrontato una prima esperienza in PHP, diciamo che ora mi stavo divertendo e "sognando" sto progettando una mini console per la gestione dei contenuti.
Da profano ho pensato che l'avere tutto nella root, non dipendere da un DB tipo MySQL e di conseguenza da hosting con caratteristiche +, sia la migliore soluzione per me come per altri profani che si vogliano cimentare.
Nonostante sono conscio che un DB relazionale sia notevolmente superiore e che mi permetta una gestione più radicale, allo stesso modo, credo che queste caratteristiche siano eccessive per il 50% dei siti oggi presenti nel web, dove trovi le due/tre classiche paginette.
E' vero ci sono CMS come Joomla e company, ma anche in questo caso siamo un gradino sopra.

Ora se un sito ha come scopo principale quello di informare il visitatore di un particolare prodotto o informazione, penso che un semplice e banale CMS concepito nell'estrema semplicità e usabilità, reso il più possibile SEO friendly sia una soluzione ottimale per tante persone.
Sottolineo SEO cosa che molti "classici admin" di siti ancora oggi sottovalutano.

Cmq un primo risultato, dopo diversi tentativi, errori e altro l'ho ottenuto, prima con Slypage e poi l'evoluzione in wire-net.
Nulla di GRANDE o SUPER, ma una piccola perla fatta da ME ;-)

Oggi sono ad un bivio .... pur mantenendo la massima semplicità volevo ottenere e ottimizzare lo stesso rendendolo più "portabile" e performante, in virtù del fatto che ora sto sviluppando la vera console di amministrazione evitando così di buttare tempo e script.

Concludo .... purtroppo anche l'uso di SQlite mi viene precluso ... perchè le due versioni SQlite 2 con PHP4 e SQlite3 con PHP5 sono tra loro incompatibili (almeno mi sembra di aver capto così).
Sono "testardo".........
 

Discussioni simili