Costruire una semplice applicazione Xataface.

Per la nostra prima applicazione Xataface cercheremo di costruire un sito web per la Facoltà di Widgetry (e l'esempio nella pagina "Perché utilizzare Xataface"). Il sito web ha bisogno di memorizzare le informazioni sui programmi e corsi. Un diagramma entità-relazioni (ERD) per questo sito qui sotto è incluso:

 er-diagram

Come mostrato nella figura sopra, il nostro database avrà bisogno di 2 tabelle (Corso e Programma). Il nostro prossimo passo è quello di costruire il database. È possibile utilizzare qualsiasi strumento di amministrazione di database MySQL per creare il database come per esempio PHPMyAdmin.

Fase 1: Creazione del database utilizzando PHPMyAdmin

I passaggi seguenti descrivono la procedura per la creazione di questo database con PHPMyAdmin.

  1. Nel menu principale di PHPMyAdmin, scriviamo 'FacultyOfWidgetry' in 'Create new database' come segue:
    new database
  2. Prima si crea la tabella 'Course' per contenere informazioni sul corso. Nella pagina 'FacultyOfWidgetry', compilare in 'Number of fields:' inserire 10 
    create table
    e poi cliccare su Go
  3. Questo dovrebbe aprire un modulo per specificare i campi per la tabella 'Course':
    course-table-def-small

    Quindi fare clic su "Salva". L'SQL risultante per creare la tabella Course è la seguente:
    CREATE TABLE 'Course' (
    'CourseID' int(11) NOT NULL auto_increment,
    'ProgramID' int(11),
    'CourseTitle' varchar(64) NOT NULL default '',
    'CourseDescription' text NOT NULL,
    'HTMLOutline' text NOT NULL,
    'PDFOutline' longblob NOT NULL,
    'PDFOutline_mimetype' varchar(64),
    'Subject' varchar(128) NOT NULL default '',
    'CourseNumber' varchar(10) NOT NULL default '',
    'Credits' int(5) NOT NULL default '0',
    'LastModified' timestamp NOT NULL default CURRENT_TIMESTAMP,
    PRIMARY KEY ('CourseID')
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Store courses' AUTO_INCREMENT=1 ;
  4. In modo simile, creare la tabella del 'Program'. Il codice SQL risultante per questa tabella è:
    CREATE TABLE 'Program' (
    'ProgramID' int(11) NOT NULL auto_increment,
    'ProgramName' varchar(64) NOT NULL default '',
    'ProgramDescription' text NOT NULL,
    'HTMLOutline' text NOT NULL,
    'PDFOutline' longblob NOT NULL,
    'PDFOutline_mimetype' varchar(32),
    'AdmissionDeadline' date NOT NULL default '0000-00-00',
    'LastModified' timestamp NOT NULL default CURRENT_TIMESTAMP,
    PRIMARY KEY ('ProgramID')
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Academic Program' AUTO_INCREMENT=1 ;
  5. Il database è stato creato con 2 tabelle: Program e Course. Ora possiamo passare alla creazione dell'applicazione Xataface.

Fase 2: Creiamo l'Applicazione Xataface

La nostra applicazione Xataface fornirà un facile front-end al nostro database. Un applicazione base è costituita da una directory con un file di configurazione e una pagina di ingresso (file PHP). Per ora vediamo come è possibile impostare manualmente l'applicazione.

Metodo 1: Configurare l'applicazione con lo script 'makesite'

  1. Dal prompt dei comandi, passare alla directory Xataface. (per esempio /var/www/siti/applicazione/xataface).
  2. Questa directory contiene un file chiamato 'makesite'. È uno script PHP che può essere utilizzato per costruire un sito web dipendente da Xataface. Per conoscere le opzioni di utilizzo per questo script si può semplicemente chiamare lo script senza parametri. ad esempio,
    root:~/var/www/applicazione/xataface ./makesite

    Questo vi darà come risultato le istruzioni di utilizzo per lo script come segue:

    makesite: opzioni inserite non valide.

    Utilizzo: makesite <site_path> <db_user>:<db_pass>@<db_host>/<db_name> <dataface_url>
    oppure
    php makesite <site_path> <db_user>:<db_pass>@<db_host>/<db_name> <dataface_url>
    dove:
      <site_path> = Il path (assoluto o relativo) alla directory dell'applicazione.
      <db_user> = Il nome utente per connetterti al database.
      <db_pass> = La password dell'utente per connetterti al database.
      <db_host> = Il nome del server host del database.
      <db_name> = Il nome del database utilizzato nell'applicazione.
      <dataface_url> = L'URL della installazione Xataface.

    Esempio:

    makesite ../FacultyOfWidgetry root:password@localhost/FacultyOfWidgetry/xataface

    Il comando sopra dovrebbe creare un sito a .. /FacultyOfWidgetry (vale a dire, la Directory FacultyOfWidgetry nella directory padre. Il database utilizzato per questo sito
    si trova in localhost, e il nome del database è FacultyOfWidgetry. il nome utente per la connessione al database è root e la sua password è password.
  3. Creiamo il nostro sito FacultyOfWidgetry utilizzando il seguente comando:
    ./makesite ../FacultyOfWidgetry \
                   root@localhost/FacultyOfWidgetry\
                   http://localhost/applicazione/xataface">
  4. Questo creerà la nostra applicazione nella cartella FacultyOfWidgetry se tutto ha funzionato bene il contenuto della cartella sarà simile a:
    directory-structure-1

    Ci si potrebbe chiedere che cosa sono questi file. Ecco la versione breve (Leggere la sezione successiva "Creazione di applicazioni manuale" per informazioni più dettagliate circa il contenuto di questi file.

    Il file index.php è il punto di ingresso per l'applicazione (ad esempio, si punta il browser web a questo file per utilizzare l'applicazione.
    Il file conf.ini contiene le impostazioni di connessione al database e alcune altre impostazioni minori, come quello che dovrebbe apparire nel menu di navigazione.
    Le directory /Program e /Course possono contenere file di configurazione specifici per le tabelle Program e Course. Ne riparleremo più avanti.

  5. Puntare il browser web alla directory FacultyOfWidgetry per vedere l'applicazione:
    basic-application-1
  6. L'applicazione è ora creata. Essa vi permetterà di aggiungere, modificare, eliminare e trovare i record in entrambi la tabella del corso o la tabella dei programmi. Ci sarà di più sulle basi di utilizzo di questa applicazione nella prossima sezione.

Nota: E 'molto importante bloccare l'accesso al file conf.ini in quanto contiene le informazioni di configurazione sensibili sul database. Lo script makesite genera un file .htaccess  automaticamente se si utilizza un server web Apache. Se si utilizza un server diverso, potrebbe essere necessario utilizzare un metodo diverso per bloccare l'accesso a questi file.

Gli utenti di IIS dovrebbe aggiungere un file web.config (se non è stato generato dal programma di installazione) per bloccare l'accesso a tutti i file .ini.

Metodo 2: Creazione  di applicazione manuale

Utilizzare lo script makesite come sopra descritto è il metodo consigliato per impostare un'applicazione perché consente di risparmiare tempo. Tuttavia, è molto facile da impostare l'applicazione anche manualmente. Basta seguire questi passaggi:

  1. Creare una directory per l'applicazione da qualche parte nel tuo sito web (preferibilmente fuori della vostra directory xataface). Chiameremo la nostra directory 'FacultyOfWidgetry'.

    mkdir FacultyOfWidgetry
  2. Creare un file PHP che servirà come punto di accesso per l'applicazione. Generalmente chiameremo questo file 'index.php'. Collocare i seguenti contenuti nel file index.php:
    <?php
    require_once '/path/to/xataface/dataface-public-api.php';
    df_init(__FILE__, 'http://yourdomain.com/xataface')->display();
    Questo carica i file Xataface fondamentali, inizializza il framework e visualizza l'applicazione. La funzione df_init () prende due parametri:

    1. __FILE__ - Passare sempre __ FILE__ qui. Questo dice a xataface dove stà la directory dell'applicazione.

    2. L'URL della directory Xataface. Questo può essere un URL completo come in questo esempio, o un URL relativo. Ad esempio se la directory xataface è all'interno della vostra directory dell'applicazione, quindi il tuo df_init () chiamato potrebbe apparire come:
    df_init (__FILE__, 'xataface') -> display ();
  3. Creare un file denominato 'conf.ini' per contenere le informazioni di connessione al database. Il suo contenuto dovrebbe essere:
    [_database]
    user = "dbuser"
    password = "secret"
    name = "FacultyOfWidgetry"
    [_tables]
    Course = "Course"
    Program = "Program"
    Spiegazioni:

    Ci sono 2 sezioni in questo file INI: '_database', e '_tables'.
    La sezione '_database' specifica le informazioni di connessione al database per il database MySQL.
    Sezione '_tables' specifica quali tabelle verranno incluse nel menu di navigazione per l'applicazione.

  4. A questo punto, l'applicazione è funzionante. Tuttavia c'è una cosa che dovrebbe essere fatta per motivi di sicurezza. Il file conf.ini contiene informazioni sensibili come password  e non deve essere accessibile nel web. Creeremo un file .htaccess per dire ad Apache di non servire questo file .ini (o qualsiasi) .ini file .htaccess dovrebbe contenere:
    <FilesMatch "\.ini$">
    Deny from all
    </FilesMatch>
    Nota: Se non utilizzate Apache, allora avrete bisogno di utilizzare un diverso meccanismo per bloccare l'accesso ai file .ini . Ad esempio in IIS (Internet Information Server), avrete bisogno di includere un file web.config. Di seguito un esempio di file web.config
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
          <system.webServer>
                <security>
                      <requestFiltering>
                            <fileExtensions>
                                   <add fileExtension=".ini" allowed="false" />
                            </fileExtensions>
                 </security>
          </system.webServer>
    </configuration>
  5. La struttura della directory della vostra applicazione sarà ora simile:
    basic-app-dir-structure-manual-1
  6. L'applicazione è ora pronta per funzionare. Puntate il browser web al file index.php che avete creato. Otterrete una schermata simile a:
    basic-application-1

 

Nota: L'esempio illustrato è aggiornato e funzionante a: http://www.xataface.it/demo

 

 

Le Nostre Applicazioni

Xataface Ultimate Framework, pacchetto base necessario per tutte le applicazioni

Rubrica Pacchetto per applicazione versione base

Video applicazione Rubrica versione base

Rubrica Versione 2 Aggiungere login e cryptare password

Video applicazione Rubrica versione 2 Aggiungere login

Video applicazione Rubrica versione 2 Cryptare password

Rubrica  Versione 4 Campi Dropdown

Video applicazione Rubrica Campi Dropdown

Zeroshell - Zerotruth

zerotruthzeroshell

Execution Time: 0.015630006790161