Laboratorio di Basi di Dati
|
|
|
- Giorgina Serra
- 9 anni fa
- Просмотров:
Транскрипт
1 Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 10
2 Architettura Model-View-Controller (MVC) L'architettura MVC può essere applicata anche alla tecnologia PHP secondo diversi approcci. In questa esercitazione mostriamo l applicazione dell approccio page-centric. Vedremo quindi come organizzare un insieme di file e classi PHP secondo tale approccio
3 Approccio Page-centric Logica (Model) Classe php DBMS + PHPBeans Flusso (Controller) Presentazione (View) PHP_1 PHP_n Base di Dati Dominio sviluppatori Java Dominio Web Designer
4 Approccio Page-centric 1) Richiesta HTTP Logica dell applicazione Livello di controllo e di presentazione Base di dati 3) pg_query() 4) query result resource classe PHP di front end 2) Richiesta dati 5) PHP databeans PHP Page 1 6) HTML
5 Approccio Page-centric PHP (1) Lettura parametri della richiesta HTTP I parametri vengono caricati in variabili PHP dall array globale $_GET[] Ad esempio, per prelevare il parametro idpersona presenta su una richiesta HTTP di tipo GET e assegnarlo alla variabile $id, procedo come segue: $id = $_GET["idPersona"];
6 Approccio Page-centric PHP (2) In base ai parametri ricevuti la pagina PHP richiama le funzioni di un istanza della classe DBMS per ottenere i dati sotto forma di array di PHP databean Ad esempio $dbms = new DBMS(); $esami = $dbms->getesami($id);
7 Approccio Page-centric PHP (2) Classe DBMS require_once( EsamiBean.php'); class DBMS { private $host = "dbserver.scienze.univr.it"; private $user = "userlab00"; private $pass = "zero0"; private $db = "did2013"; private $connection = null; function construct() { $this->connection = pg_connect("host=$this->host dbname=$this->db user=$this->user password=$this->pass");.
8 Approccio Page-centric PHP (3,4,5) Funzioni della classe DBMS per l interazione con il database function getesami($idper) {... pg_prepare($this->connection, q1, "SELECT insegnamento, voto FROM Esame WHERE id_studente = $1 ); $result = pg_execute($this->connection, q1, array($diper)); $list = array(); while($row = pg_fetch_array($result)) { $es = new EsameBean(); $es->set_insegnamento($row[ insegnamento ]); $es->set_voto($row[ insegnamento ]); $list[] = $es; return $list;
9 Approccio Page-centric PHP (5) DataBean in PHP (dinamicità) class EsameBean { private $cs_id; private $fields = array();... function construct() { $this->fields[ insegnamento' ] = null; $this->fields[ voto' ] = null;
10 Approccio Page-centric PHP (5) DataBean in PHP (dinamicità) function call( $method, $args ) { // Metodi SET if ( preg_match( "/set_(.*)/", $method, $found ) ) { if ( array_key_exists( $found[1], $this->fields ) ) { $this->fields[ $found[1] ] = $args[0]; return true; else { if ( strcasecmp( $found[1], "id" ) == 0 ) { $this->cs_id = $args[0]; return true;
11 Approccio Page-centric PHP (5) DataBean in PHP (dinamicità)... // Metodi GET else if ( preg_match( "/get_(.*)/", $method, $found ) ) { if ( array_key_exists( $found[1], $this->fields ) ) { return $this->fields[ $found[1] ]; else { if ( strcasecmp( $found[1], "id" ) == 0 ) { return $this->cs_id; return false; // end function call // end class
12 Approccio Page-centric PHP (6) Presentazione dei dati nel file HTML Ad esempio: <ul> <? foreach($esami as $es) {?> <li><b><?=$es->get_insegnamento()?></b></br> <i><?=$es->get_voto()?></i> <??> </ul>
13 Attivare il server apache con interprete PHP 1. Da console invocare il comando apache 2. Questo aprirà automaticamente: il browser all'indirizzo: una schermata di Nautilus nella cartella temporanea "/tmp/<matricola>-apache2" contenente: directory conf: contiene i file di configurazione directory log: contiene i file di log di accesso e degli errori directory www: web directory contenete i documenti (php o html) ai quali si può accedere all'indirizzo:
14 Esempi da scaricare 1. Scaricare il file: php.zip dalla pagina web del corso. 2. Attivare apache: comando apache 3. Scompattare php.zip nella directory ~/tmp/<matricola>-apache2/www 4. Invocare la pagina Corsi.php.
15 Consegna opzionale Esercitazione 10 Completare i file PHP scaricati per ottenere quanto richiesto nell esercizio 8 per la JSP finale. Inviare via al docente un file di nome ES10-<matricola>.zip contenente tutti i file dell applicazione sviluppata in PHP (tutti i file) Il messaggio dovrà soddisfare il seguente formato: Oggetto: <Matricola> - Esercitazione 10 Contenuto: <Matricola> - <Cognome> - <Nome> Allegato: file di nome ES10-<Matricola>.zip Il messaggio va spedito entro le del giorno 15 giugno 2013.
16 Riferimenti
Laboratorio di Basi di Dati e Web
Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 9 Architettura Model-View-Controller (MVC) Adottando l'architettura MVC e la tecnologia Servlet-JSP, un'applicazione web può essere realizzata
Architettura Model-View-Controller (MVC)
Laboratorio a o o di Basi di Dati e Web Docente: Alberto Belussi Lezione 9 Architettura Model-View-Controller (MVC) Adottando l'architettura MVC e la tecnologia Servlet-JSP, un'applicazione web può essere
Laboratorio di Basi di Dati e Web
Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 9 Architettura Model-View-Controller (MVC) Adottando l'architettura MVC e la tecnologia Servlet-JSP, un'applicazione web può essere realizzata
Laboratorio di Basi di Dati
Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 9 Architettura Model-View-Controller (MVC) Adottando l'architettura MVC e la tecnologia Servlet-JSP, un'applicazione web può essere realizzata
2011 Politecnico di Torino 1
SQL per le applicazioni Esercitazione PHP e MySQL Svolgimento D B M G Passi di risoluzione creazione e popolamento della base di dati Creazione di un script SQL Passo 2 creazione di una query d interrogazione
3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni
IIndice Capitolo 1 Da dove partiamo: pagine web statiche 1 1.1 Principi di base.............................. 1 1.1.1 Il paradigma client-server.................... 1 1.1.2 Ipertesto, multimedia, ipermedia................
Architettura MVC-2 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3
Architettura MVC-2 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 Verso l architettura MVC-2 2 Il secondo passo verso l architettura MVC-2 è quello di separare il controllo dell
Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008
Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008 Avvertenze: e severamente vietato consultare libri e appunti; chiunque verrà trovato in possesso di
AJAX. Riccardo Rosati
AJAX Riccardo Rosati Linguaggi e tecnologie per il Web Corso di laurea in Ingegneria informatica e automatica Sapienza Università di Roma a.a. 2016/2017 http://www.dis.uniroma1.it/~rosati/lw/ AJAX AJAX
Installazione di EasyPhp. Avviare EasyPhp. La finestra di amministrazione di EasyPhp
Installazione di EasyPhp Scaricare la versione più recente di EasyPhp dal sito ufficiale (http://www.easyphp.org/). Scegliere la versione di sviluppo (DEVELOPMENT SERVER) più adatta al proprio sistema
Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014
Laboratorio Progettazione Web PHP e MySQL Andrea Marchetti IIT-CNR 2013/2014 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation Application Storage PHP e DataBase Quando
MVC - Principio. MVC Model View Controller. MVC - Terminologia. MVC - Funzionamento. Richiesta. Controller. Model. Risposta. View
MVC View Controller! Si tratta di un pattern di progettazione introdotto originariamente con Smalltalk (1980 Xerox)! Si basa su astrazioni presenti in tutte le applicazioni dotate di interfaccia grafica!
Indice. 1.13 Configurazione di PHP 26 1.14 Test dell ambiente di sviluppo 28
Indice 25 184 Introduzione XI Capitolo 1 Impostazione dell ambiente di sviluppo 2 1.1 Introduzione ai siti Web dinamici 2 1.2 Impostazione dell ambiente di sviluppo 4 1.3 Scaricamento di Apache 6 1.4 Installazione
2011 Politecnico di Torino 1
SQL per le applicazioni Call Level Interface Le richieste sono inviate al DBMS per mezzo di funzioni del linguaggio ospite soluzione basata su interfacce predefinite API, Application Programming Interface
ITI M. FARADAY. Programmazione a. s
ITI M. FARADAY Programmazione a. s. 2018-2019 Disciplina: INFORMATICA Indirizzo: INFORMATICA E TELECOMUNICAZIONI Classi: Quinta A Quinta B Ore settimanali previste: 6 (3 ora Teoria - 3 ore Laboratorio)
Capitolo 16 I servizi Internet
Capitolo 16 I servizi Internet Storia di Internet Il protocollo TCP/IP Indirizzi IP Intranet e indirizzi privati Nomi di dominio World Wide Web Ipertesti URL e HTTP Motori di ricerca Posta elettronica
PHP & MySQL. Giselda De Vita
PHP & MySQL Giselda De Vita - 2014 1 Per creare un applicazione WEB su APACHE, in linguaggio PHP, con Base Dati MySQL, possiamo lavorare in locale o in rete. Per lavorare in locale abbiamo bisogno di installare
Programmazione in Java (I modulo) Lezione 21: Classi derivate e l'operatore instanceof Riscrivere il metodo tostring() Riscrivere il metodo equals()
Programmazione in Java (I modulo) Lezione 21: Classi derivate e l'operatore instanceof Riscrivere il metodo tostring() Riscrivere il metodo equals() Ereditarietà (Inheritance) RIASSUMIAMO DALLA SCORSA
PHP i5 #3. By SIRI. : accesso adl DB2 IBMi
PHP i5 #3 By SIRI : accesso adl DB2 IBMi Agenda Il dialetto DB2 le estensioni PHP per DB2 connessione al DB2 esecuzioni di query su DB2 reperimento e gestione dato DB2: dialetto sql Interrogazioni sul
Connessione con MySQL
Connessione con MySQL Architettura Server-Side Eventuali parametri cookie sessioni Elaborazione SELECT... DATABASE Quando i dati sono molti e la persistenza deve andare altre la sessione o la durata
Programmazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
Basi di dati Basi di dati per bioinformatica
Basi di dati Basi di dati per bioinformatica DOCENTI PROF. ALBERTO BELUSSI PROF CARLO COMBI Anno accademico 2013/14 Organizzazione degli insegnamenti 3 Basi di dati Basi di dati per Bioinformatica Teoria
Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda)
Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda) Il candidato realizzi inoltre il sito Internet del centro che deve permettere, tra
Un client su arduino invia i dati acquisiti ad un database
Un client su arduino invia i dati acquisiti ad un database PROBLEMA Si vogliono inviare, periodicamente, i dati acquisiti da alcuni sensori ad un database presente su di un server. Arduino con shield Ethernet
L architettura MVC (Model- View-Controller) Introduzione
L architettura MVC (Model- View-Controller) Introduzione Architettura MCV L architettura MVC è un insieme di regole per strutturare un sito-web dinamico. Queste regole complicano la struttura del sito,
Spiegazioni esercizio Gestione Tabella con PHP e MySQL
Spiegazioni esercizio Gestione Tabella con PHP e MySQL foglio_di_stile.css (foglio di stile esterno) Questo file contiene: 1. la struttura generale delle quattro pagine web dinamiche: index.php, inserisci.php,
Obiettivi d esame PHP Developer Fundamentals on MySQL Environment
Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web
I desiderata La progettazione MVC Organizzazione del codice. http://xkcd.com/244/
http://xkcd.com/244/ Applicazioni Web 2010/11 Lezione 6: Esempio: TODO-List online multiutente Matteo Vaccari http://matteo.vaccari.name/ [email protected] (cc) Matteo Vaccari. Published in
Una metodologia di progettazione di applicazioni web centrate sui dati
Una metodologia di progettazione di applicazioni web centrate sui dati A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 1 / 2 0 1 2 Progettazione logica di un sito web centrato sui dati Si
Parte 6 JSON, Web Storage API, funzioni JavaScript e user script
Sapienza Università di Roma corso di laurea in Ingegneria informatica e automatica Linguaggi e tecnologie per il Web a.a. 2017/2018 Parte 6 JSON, Web Storage API, funzioni JavaScript e user script Riccardo
Configurazione avanzata di XAMPP
Configurazione avanzata di XAMPP Andrea Atzeni ([email protected]) Marco Vallini ([email protected]) Politecnico di Torino Dip. Automatica e Informatica Apache Binding definisce su quali indirizzi
Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR [email protected] 2012/2013
Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR [email protected] 2012/2013 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation
Verso l architettura MVC-2 PHP: Hypertext Preprocessor
Verso l architettura MVC-2 PHP: Hypertext Preprocessor 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 PHP per generare pagine web dinamiche Anche uno script PHP può essere
1) Il client(browser utilizzato) invia al server i dati inseriti dall utente. Server
2) Il Server richiama l'interprete PHP il quale esegue i comandi contenuti nel file.php specificato nell'attributo action del tag form creando un file HTML sulla base dei dati inviati dall utente 1) Il
Siti web centrati sui dati Architettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
WIFILAB ISTRUZIONI PER IL SETUP E L UTILIZZO DEL CLIENT VMWARE HORIZON (SISTEMA OPERATIVO OS X)
WIFILAB ISTRUZIONI PER IL SETUP E L UTILIZZO DEL CLIENT VMWARE HORIZON (SISTEMA OPERATIVO OS X) Parte 1: Download del client VMware Horizon Client a) Se ci si trova in una struttura del Campus di Rimini,
1. Schema concettuale della base di dati PROGETTO CONCETTUALE SCHEMA ER
Esame di Stato Istituto Tecnico Industriale Proposta di soluzione della seconda prova Indirizzi: Informatica - CORSO DI ORDINAMENTO e Progetto ABACUS Anno Scolastico: 2004-2005 1. Schema concettuale della
PRIMA PARTE. 2. Modello concettuale DB: Elena Cosentino
PROPOSTA DI SOLUZIONE PER LA SECONDA PROVA DI MATURITÀ 2019 TRACCIA: Informatica e Telecomunicazioni Articolazione Informatica ARGOMENTO: Infrastruttura e basi di dati di un servizio di erogazione contenuti
WIFILAB ISTRUZIONI PER IL SETUP E L UTILIZZO DEL CLIENT VMWARE HORIZON (SISTEMA OPERATIVO MICROSOFT WINDOWS)
WIFILAB ISTRUZIONI PER IL SETUP E L UTILIZZO DEL CLIENT VMWARE HORIZON (SISTEMA OPERATIVO MICROSOFT WINDOWS) Parte 1: Download del client VMware Horizon Client a) Se ci si trova in una struttura del Campus
Visualizzazione ordini in MyShopDB
Visualizzazione ordini in MyShopDB Risolviamo gli esercizi della lezione scorsa, scrivendo una pagina ordini.jsp che visualizzi le intestazioni di ogni ordine (numero d ordine, data, nome, cognome, indirizzo,
Gestione Orario Lezioni: Schema del Database
Gestione Orario Lezioni: Schema del Database corsi corso studenti studente anno anno docente orario id corso giorno ora1 docenti docente dipartimento email ora2 aula aule aula capienza 1 Gestione Orario
