Sviluppo web con CakePHP
|
|
|
- Giuseppa Bellucci
- 8 anni fa
- Visualizzazioni
Transcript
1 Sviluppo web con CakePHP Andrea Chiarottino e Francesco Ronchi Linux Day Torino
2 Presentazione Chi siamo... Chi siete?
3 Perchè un framework? Velocità di sviluppo Riutilizzo del codice Struttura del codice Uso di modelli standard (MVC, ORM...) Codice di terze parti (community...) Documentazione
4 CakePHP (1) Basato su PHP, ereditando idee da altri linguaggi (vedi Ruby on Rails) Oggetti: Modello MVC, ORM Coding by convention Scaffolding & Bake Codice semplice e pulito
5 CakePHP (2) Facile da estendere con componenti, helper, behaviours e plugin. Gestione della validazione Supporto AJAX Autenticazione e ACL Integrazione con SimpleTest
6 Modello MVC MVC = Model, View, Controller Model: i dati dell applicazione, tipicamente il database. View: la presentazione delle informazioni, tipicamente pagine web Controller: la logica dell applicazione
7 MVC visto da CakePHP
8 Struttura Cartelle app/ cake/ vendors/.htaccess index.php
9 Struttura Cartelle: app/ app/ config/ controllers/ locale/ models/ plugins/ tmp/ vendors/ views/ webroot/
10 App Extensions app_model.php, app_controller.php, app_helpers.php presenti nella cartella app Sono le superclassi di model, view e controller dove trovano posto i metodi comuni a tutte le sottoclassi
11 Components Classi integrate nel FW per svolgere compiti comuni che possono essere utilizzate dai controller estendone le funzionalità Core Components: ACL, Auth, Cookie, , RequestHandler, Security, Session
12 Behaviors Classi che estendono le funzionalità dei model Core behaviors: ACL, Containable, Translate, Tree
13 Helpers Classi che includono logica per il livello presentazione che possono essere riutilizzate nelle view Core helpers: AJAX, Cache, Form, Javascript, Number, Paginator, RSS, Session, Text, Time, XML
14 Common Tasks Validazione e sanitization dei dati Gestione errori e debugging Caching e Logging Testing I18n & L10n REST
15 Utility libs Classi con funzioni di utilizzo generale richiamabili all'interno dell'applicazione Core Libs: Inflector, String, Xml, Set, Security, Cache, HttpSocket
16 Console Apps BAKE: script per la generazione di codice: models, views, controllers Possibilità di creare template da utilizzare per generare elementi dell'applicazione personalizzati
17 Scaffolding & Bake Creazione dinamica del CRUD delle tabelle del database (Scaffolding) Creazione statica delle classi HTML e dei controller (Bake)
18 Ambiente di sviluppo Eclipse PDT per sviluppare in PHP Subclipse per collegamenti a repository SVN Firefox Firebug Web developer bar Apache (con Mod Rewrite) MySQL
19 Let's go code! Pratica con Cake: esempio
20 Struttura DB
21 Code by Convention Definire una convenzione per fare le cose, anziché configurarle Codice più semplice/leggibile, più leggero e più standard Configurazione sempre disponibile per esigenze particolari
22 Convenzioni per il DB Regole principali: Nomi delle tabelle al plurale (in inglese) Chiave primaria campo id Chiavi esterne con nome della tabella al singolare + _id
23 Convenzioni per model Regole principali: Nomi delle classi singolari, CamelCased: Person, Apple, BigPerson Nomi dei file separati da _ se composti di più parole: person.php, apple.php, big_person.php
24 Convenzioni per controller Regole principali: Nomi delle classi plurali, CamelCased e terminanti con Controller: PersonController, BigPersonController Nomi dei file separati da _ se composti di più parole: person_controller.php, big_person_controller.php
25 Convenzioni per view Regole principali: Le view sono contenute in una cartella all'interno di una tabella che ha il nome del controller Ciascuna view è un file che ha il nome di un metodo (action) del controller separato da _ se contiene più parole
26 CakePHP URL...siteurl/controllername/actionname/par1 /par2 Si possono comunque personalizzare gli URL utilizzando le route
27 Risorse Website: Cookbook: Bakery: API: CakeForge: Test Cases: Google Group:
28 Libri Apress Beginning CakePHP from Novice to Professional (Pag. 341) Apress - CAKEPHP - Practical CakePHP Projects (Pag. 389) Packt Publishing CakePHP Application Development (Pag. 328) Tutorial redatti da IBM visibili anche su scribd.
29 Grazie!!! Andrea Chiarottino e Francesco Ronchi [email protected]
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................
Programma didattico. Sviluppare Applicazioni Distribuite in ambiente. Spring MVC
Programma didattico Sviluppare Applicazioni Distribuite in ambiente Spring MVC Programma del corso 1.Progettazione e Sviluppo Database Relazionali Questa competenza permette di Progettare e Sviluppare
Breve introduzione allo sviluppo WEB. a cura di Ciro Attanasio - [email protected]
Breve introduzione allo sviluppo WEB a cura di Ciro Attanasio - [email protected] Partiamo (1 di 1) Come funziona il WEB e quali tecnologie lo compongono Cos è un Client (1 di 2) Un client, in informatica,
CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION
CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION 0 DURATA 200 ore CONTENUTI Oracle PL/SQL Introduzione al PL/SQL Cenni su SQL con utilizzo di SQL*PLUS Configurazione ambiente Developer DB Classi,
TESI DI LAUREA IN INFORMATICA
UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II TESI DI LAUREA IN INFORMATICA UNA WEB APPLICATION SU INFRASTRUTTURA PER IL PROGETTO DAME Tutor Accademico: Dott.ssa Anna Corazza Tutor Aziendale: Dott. Massimo
Analisi e utilizzo di un framework per lo sviluppo di applicazioni web
tesi di laurea Anno Accademico 2011/2012 relatore Ch.mo prof. Marcello Cinque correlatore Ing. Fabio De Paolis candidato Michele Basile Matr. 534/3239 Web Development Frameworks Nella realizzazione di
Realizzazione di un prototipo di un software web based per la gestione di un inventario comunale
tesi di laurea inventario comunale Anno Accademico 2009/2010 relatore Ch.mo prof. Porfirio Tramontana correlatore Ch.mo Ing. Luigi Pontillo candidato Michele Vitelli Matr. 534 2170 Redazione dell Inventario
Alfresco è una suite di programmi per l implementazione di un «Enterprise Content Management System».
Alfresco è una suite di programmi per l implementazione di un «Enterprise Content Management System». Alla base della suite c è il repository documentale, sul quale sono costruite applicazioni come Alfresco
La struttura di un tema WordPress
La struttura di un tema WordPress Basi per lavorare correttamente alla creazione o modifica di temi Francesco Grasso @francgrasso WordPress Developer & Trainer fb.me/francesco.aci effegidesign.it Esigenza:
INTRODUZIONE ALLE PIATTAFORME
INTRODUZIONE ALLE PIATTAFORME Android ios Windows Phone 8 Android 2 Cos è Android? Un moderno open-source sistema operativo Componenti: Linux kernel Java Core applications 3 Perché è stato un successo
Laboratorio di Basi di Dati
Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 10 Architettura Model-View-Controller (MVC) L'architettura MVC può essere applicata anche alla tecnologia PHP secondo diversi approcci. In questa
01KPS BF Progettazione di applicazioni web
01KPS BF Progettazione di applicazioni web Presentazione del corso http://elite.polito.it/ Fulvio Corno, Emiliano Castellina Dipartimento di Automatica e Informatica Politecnico di Torino PAW - Presentazione
Corso Programmazione Java Avanzato
Corso Programmazione Java Avanzato Codice: ITJA0113 Durata: 40 ore Descrizione corso Questo corso fornisce una panoramica sulle tecnologie impiegate per la realizzazione di applicazioni web basate sulla
Strumenti per l automazione del testing di applicazioni web Javascript-based
tesi di laurea Strumenti per l automazione del testing di applicazioni web Javascript-based Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana 1 candidato Salvatore Agnello Matr. 41/2612
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,
Allegato 5.7_TEMPLATE DI OFFERTA TECNICA
PROCEDURA DI SELEZIONE PER IL SERVIZIO DI MANUTENZIONE CORRENTE, CORRETTIVA ED EVOLUTIVA DEL PORTALE E DELLA INTRANET DELLA CCIAA DI MILANO E DEL PORTALE DI INNOVHUB SSI_CIG 6519618EF5 Allegato 5.7_TEMPLATE
Curriculum Vitae e Portfolio
Mi presento, mi chiamo Matteo Papparella ho 25 anni e sono un programmatore web con conoscenze di html5, php, javascript, mysql e jquery. Ho avuto già diverse esperienze in questo settore sviluppando progetti
DA DEFINIRE Sede del corso: Presso GI Formazione in Piazza IV novembre 5, Milano Orari dalle 9.00 alle 13.00 e dalle 14.00 alle 18.
PERIODO : DA DEFINIRE Sede del corso: Presso GI Formazione in Piazza IV novembre 5, Milano Orari dalle 9.00 alle 13.00 e dalle 14.00 alle 18.00 A CHI E RIVOLTO IL CORSO Questo progetto si rivolge a tutti
APPENDICE 4 AL CAPITOLATO TECNICO
APPENDICE 4 AL CAPITOLATO TECNICO Descrizione dei profili professionali INDICE 1 PROFILI PROFESSIONALI RICHIESTI 3 1.1 CAPO PROGETTO 3 1.2 ANALISTA FUNZIONALE 4 1.3 ANALISTA PROGRAMMATORE 5 1.4 PROGRAMMATORE
CakePHP - 101 Creare un'applicazione con CakePHP. [email protected] http://impronta48.it
CakePHP - 101 Creare un'applicazione con CakePHP [email protected] http://impronta48.it Come Installare cakephp 1.3.x 1) Mi collego a https://github.com/cakephp/cakephp/archives/1.3 2) Salvo il file
Ariel David Techiouba
Ariel David Techiouba italiano - it nato il 26/11/1980 +39 329 3909327 Presentazione Sono appassionato di giochi da tavolo, mi piacciono le sfide soprattutto a livello mentale. Amo viaggiare e fare nuove
Giuseppe Capizzi. Ambienti di sviluppo Open Source
Giuseppe Capizzi Ambienti di sviluppo Open Source Stanchi del solito editor? IDE (Integrated Development Environment, Ambiente di Sviluppo Integrato) Editor Sistema di build Debugger Test Controllo di
01KPS BF Progettazione di applicazioni web
01KPS BF Progettazione di applicazioni web Presentazione del corso (A.A. 2009/2010) http://elite.polito.it/ Fulvio Corno, Emiliano Castellina Dipartimento di Automatica e Informatica Politecnico di Torino
Architetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo
Basi di Dati Architetture Client/Server D B M G Architettura centralizzata Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo Tutta l intelligenza
01KPS BF Progettazione di applicazioni web
01KPS BF Progettazione di applicazioni web Presentazione del corso (A.A. 2010/2011) http://elite.polito.it/ Fulvio Corno, Emiliano Castellina Dipartimento di Automatica e Informatica Politecnico di Torino
Sviluppo su Android. Linux Day Torino 2010
Sviluppo su Android Linux Day Torino 2010 Francesco Ronchi [email protected] - www.synesthesia.it Cos'è Android Sistema operativo dedicato ai device mobili: cellulari, palmari, tablet, navigatori...
Programmare server. Programmazione Web 1
Programmare server Programmazione Web 1 Richiesta a un sito sta2co HTTP req: GET www.uniroma2.it You client (client) HTTP resp: HTML, CSS, js,... web server Server 1. Riceve una richiesta per un file 2.
Claudio Scala. Curriculum vitae WHILE1. Sede operativa (ITA) Sede operativa (ITA)
Curriculum vitae Claudio Scala 1.Dati personali Luogo e data di nascita Nizza Monferrato (AT), 18 Marzo 1980 Titolo di studio Lingue straniere Laurea in Informatica (Primo Livello) conseguita nel 2007
Port Community System del Porto di Ravenna CONFIGURAZIONE
Port Community System del Porto di Ravenna CONFIGURAZIONE SOMMARIO Indicazioni generali... 3 Dipendenze software... 4 Lato server... 4 Lato client... 4 Organizzazione del sistema... 5 Struttura delle directory...
Programmazione Java Avanzata
Programmazione Java Avanzata Introduzione a Servlet e Struts 2 Ing. Giuseppe D'Aquì 1 Testi Consigliati Java Enterprise in a nutshell, 3 rd edition (O'Reilly) Struts 2 in Action Brown, Davis, Stanlick
Sommario APPUNTI WEB SERVER E PHP
Sommario Database...2 Normalizzazione...2 1 Forma normale...3 2 Forma normale...3 3 Forma normale...3 E/R (Entity/Relationship)...3 Modello concettuale...3 Modello logico...3 Modello fisico...3 DBMS (Database
CLAUDIO CICALI. Curriculum Vitae. Informazioni personali Domicilio: Via San Carlo 17, 40121 Bologna (ITALY) Nazionalità: Italiana
CLAUDIO CICALI Curriculum Vitae Informazioni personali Domicilio: Via San Carlo 17, 40121 Bologna (ITALY) Email: [email protected], [email protected] Nazionalità: Italiana Data di nascita: 6 July
Paolo Insogna Senior Full-Stack Software Engineer
Paolo Insogna Senior Full-Stack Software Engineer http://cowtech.it [email protected] +39 333-3219881 Occupazione attuale Senior Frontend Software Engineer Cision, ex Viralheat (San Mateo, CA, USA) da Aprile
Corsi di Ingegneria del Software / Interazione Uomo - Macchina Paolo Bottoni
Corsi di Ingegneria del Software / Interazione Uomo - Macchina Paolo Bottoni Temi per il progetto Esempi Angry Birds / Cut the Rope Amazon Mechanical Turk / Bugzilla British Library / British Museum Eclipse
UNIVERSITA' DEGLI STUDI DELL'INSUBRIA. Facoltà di Informatica
UNIVERSITA' DEGLI STUDI DELL'INSUBRIA Facoltà di Informatica Anno accademico 2009/2010 Corso di Web 2.0 Barboni Stefano 702499 Castiglioni Andrea 700484 Modugno Manlio 701896 Sommario Introduzione... 3
Android development. Sviluppo di Mobile Apps sul sistema operativo di Google
Android development Sviluppo di Mobile Apps sul sistema operativo di Google Agenda Giorni: Gio 14/04/2011 Ven 15/04/2011 Gio 21/04/2011 Ven 22/04/2011 Suddivisione: Mattina: teoria Pomeriggio: pratica
Realizzazione di uno strumento web-based per la simulazione remota di reti di sensori senza filo
tesi di laurea Realizzazione di uno strumento web-based per la simulazione remota di reti di sensori senza filo Anno Accademico 2009/2010 relatore Ch.mo prof. Marcello Cinque correlatore Ing. Catello di
CV di Paolo Insogna - Pagina 1 di 8 +39 333-3219881 [email protected]
CV di Paolo Insogna - Pagina 1 di 8 +39 333-3219881 [email protected] Paolo Insogna Senior Full-Stack Software Engineer http://cowtech.it [email protected] CV di Paolo Insogna - Pagina 2 di 8 +39 333-3219881
F O R M A T O E U R O P E O P E R I L C U R R I C U L U M V I TA E
F O R M A T O E U R O P E O P E R I L C U R R I C U L U M V I TA E INFORMAZIONI PERSONALI Nome FLORIN LUNGU Indirizzo di Residenza Via Ascanio 43, 80124 Napoli, Italia Telefono (+39) 3804791131 E-mail
Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni)
Progettazione di Sistemi Interattivi Struttura e supporti all implementazione di applicazioni in rete (cenni) Docente: Daniela Fogli Gli strati e la rete Stratificazione da un altro punto di vista: i calcolatori
Ariel David Techiouba
Ariel David Techiouba italiano - it nato il 26/11/1980 +39 329 3909327 Presentazione Sono appassionato di giochi da tavolo, mi piacciono le sfide soprattutto a livello mentale. Amo viaggiare e fare nuove
E-ducation.it. Piattaforma di e-learning DLMS e-ducation.it
E-ducation.it Piattaforma di e-learning DLMS e-ducation.it SOMMARIO 1. Introduzione... 3 2. Caratteristiche generali della piattaforma... 3 2.1. Amministrazione degli utenti... 4 2.2. Caricamento dei corsi...
La modernizzazione delle applicazioni in ambiente System i5
La modernizzazione delle applicazioni in ambiente System i5 Segrate - 19 Ottobre 2006 Nicoletta Bernasconi [email protected] I modelli applicativi Tradizionale interfaccia utente a carattere
Prof. Pagani Corrado HTML
Prof. Pagani Corrado HTML IPERTESTI E MULTIMEDIALITÀ Un ipertesto è un insieme di documenti messi in relazione tra loro per mezzo di parole chiave sensibili (link). Può essere visto come una rete; i documenti
26-28 Luglio Angular 2. One framework. Mobile and desktop.
26-28 Luglio 2016 Angular 2 One framework. Mobile and desktop. AGENDA Gli argomenti che affronteremo in questa sessione 1 INTRODUZIONE 3 Cos è Angular 2 e perchè dovremmo usarlo. Architettura generale
liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE TRIENNIO: TERZA DISCIPLINA: INFORMATICA
INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE PROGRAMMAZIONE TRIENNIO: TERZA DISCIPLINA: INFORMATICA MODULO 1: HTMLe CSS UNITÀ ORARIE PREVISTE: 35 Il linguaggio HTML ed il web I principali tag I fogli di stile:
DUCKMA SRL BACKEND DEVELOPER
BACKEND DEVELOPER applicazioni Mobile. nostri valori e la nostra visione del business. Persone con iniziativa, creatività, curiosità ed entusiasmo, uniti ad ottime capacità relazionali e un forte spirito
ez publish, un CMS Open Source di classe Enterprise Introduzione di base all estensibilità del sistema
ez publish, un CMS Open Source di classe Enterprise Introduzione di base all estensibilità del sistema Pag. 1 a cura di Francesco Trucchia un phpbreakfast offerto dal GrUSP
Curriculum Vitae Europass
Curriculum Vitae Europass Informazioni personali Nome / Cognome Indirizzo 20, via Cortesa, 38091, Valdaone, Trento, Italia. Telefono 3472443934 E-mail [email protected] Cittadinanza Italiana Data
Mirko Ferraro Curriculum vitae
Mirko Ferraro Curriculum vitae Residenza: Milano Cellulare: +39 348 9528749 Email: [email protected] Sito Web http://mirkoferraro.it GitHub https://github.com/mirkoferraro NPM https://www.npmjs.com/~mirkoferraro
Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida
Breve introduzione curata da Alessandro Benedetti Struts2-Introduzione e breve guida 22-11- 2008 1 Struts 2 Costruisci,attiva e mantieni! Apache Struts 2 è un framework elegante ed estensibile per creare
Università degli studi di Salerno TESI DI LAUREA
Università degli studi di Salerno Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica TESI DI LAUREA : Relatore Prof. Blundo Carlo Candidato Attanasio Ciro 056 / 101820 Anno
Sviluppare applicazioni HTML5 solide e scalabili in AngularJS
Sviluppare applicazioni HTML5 solide e scalabili in AngularJS PREREQUESITI: Il partecipante dovrà possedere una certà familiarità con l uso di HTML, Javascript (variabili, manipolazione array e oggetti,
Tutti per uno e Swagger per tutti!
presenta Tutti per uno e Swagger per tutti! Nicolò Carandini MVP Windows Development [email protected] @TPCWare www.wpc2015.it [email protected] - +39 02 365738.11 - #wpc15it 1 Agenda Session Tuning Web
Una soluzione WEB-GIS per la pubblicazione di dati statistici della Regione Sardegna
Una soluzione WEB-GIS per la pubblicazione di dati statistici della Regione Sardegna Sergio Loddo, Luca Devola GFOSS - Cagliari, 27 febbraio 2009 Indice 1. Presentazione 2. Progetto 3. Architettura, metodologia
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
