Home   Informatica   PHP   Step1: la struttura

Step1: la struttura

Scritto da sergio il 13/09/2010 14:20:51

Iniziamo il nostro viaggio sottolineando il fatto che stiamo utilizzando un php in versione 5.2.
Ora vediamo prima di tutto la struttura dell'albero che utilizzeremo per il nostro framework. Si tratta principalmente di uno schema mentale, non pretende di essere il migliore,ne' tantomeno l'unico possibile.


+ / (root)
--- + / classes
--- + / controls
--- + / css
--- + / forms
--- + / images
--- + / templates
--- + / utilities
--- + / vastaControls
index.php
configuration.php

Sotto la root prevediamo ben 8 cartelle.
classes contiene i file con le definizioni delle classi che utilizzeremo nella nostra applicazione. Normalmente utilizziamo queste classi per l'accesso ai dati del database. L'idea e' quella di una classe per tabella, salvo casi particolari.
controls contiene i files con la logica "di business". Una specie di secondo livello.
css contiene il o i fogli di stile.
forms contiene i files con la parte di "disegno" delle schermate. Un terzo livello dove si mette il focus solo sulla parte prettamente grafica.
images non e' detto che serva sempre, ma normalemente su una applicazione web si fa largo uso di immagini anche e soprattutto da utilizzare come icone.
templates contiene alcuni files per la parte fissa di un template grafico. Ad esempio per la creazione di parti di testata (header) o di pie' di pagine (footer) dove di vuole esclusivamente indicare la versione del software o i requisisti, o semplicemente il logo dell'applicazione.
utilities contiene funzioni di carattere generale, come ad esempio l'ottenimento della data odierna o anche funzioni di conversione o localizzazione.
vastaControls contiene tutta una parte di codice che si occupa di generare il rendering html da comandi php. Questa parte potrebbe anche essere ignorata dal programmatore che puo' limitarsi a sapere come usare gli oggetti messi a disposizione.

Infine ci sono 2 files:
index.php e', non solo la pagina principale, ma il file da cui ogni chiamata al webserver passera' sempre. Ogni tasto, link, ecc. che verra' premuto sull'applicazione si andra' sempre alla index.php che fara' da collettore.
configuration.php invece contiene semplicemente delle impostazioni di configurazione come, ad esempio, i parametri di connessione al database.

Completiamo il primo step vedendo una parte del file index.php:

 
<?
session_start();
// Inclusione del file di configurazione
include("configuration.php");
// Inclusione delle classi
function __autoload($class_name) {
    require_once "classes/".$class_name.".class.php";
  
}
// Inclusione dei componenti
include("vastaControls/vastaControls.php");
// Utilities
include("utilities/utilities.php");

// nasconde i messaggi di errore
error_reporting(0);

// Recupero della variabile della action e della function
$action = $_GET["action"];
$function = $_POST["function"];

// INIZIO OUTPUT
include("templates/header.html.php");

// FINE OUTPUT
include("templates/footer.html.php");

?>

In questa prima parte del file, oltre alle righe chiaramente commentate, Notiamo come questo file faccia da raccolta per ogni chiamata e come useremo una navigazione a 2 livelli costituiti dalle variabili $action e $function, dove la prima indichera' in quale entita' stiamo lavorando (classe, tabella o anche un insieme) e la seconda l'operazione che stiamo svolgendo su essa (tipicamente: inserimento, modifica, cancellazione, ecc...).

Il resto lo approfindiremo al prossimo appuntamento!

Ultimo aggiornamento 15/09/2010 13:02:54