The Best Practices Book Version: 2.5



Похожие документы
Accordi di 3 note / Accordi Maggiori Triade Maggiore. Settima Maggiore Si ottiene con la triade minore sul terzo grado: C maj7 = Mi m / Do

SISTEMI INFORMATICI/WEBGIS PER LA GESTIONE DI DATI AMBIENTALI E TERRITORIALI Povo, Steno Fontanari

dal laboratorio libri in presenza alla collaborazione online

Attività federale di marketing

SUAP. Per gli operatori SUAP/amministratori. Per il richiedente

WEB SEMINAR Dettaglio servizio

GIUSEPPE DI GRANDE CORSO DI FORMAZIONE SU BIBLOS

YOU ARE WHAT YOU CURATE COS E LA CONTENT CURATION E COME APPLICARLA

lem logic enterprise manager

1. Presentazione del programma. 3. Metodologia didattica e contenuti. 4. L organizzazione della lezione in aula sincrona

Come Creare un sito web gratis

Il corso di italiano on-line: presentazione

La provincia di Milano

Lettere di restituzione della caparra

Il sistema di Kuoni Italia per prenotare On Line il Tuo Viaggio.

Novità di Access 2010

SCENARIO. Personas ALICE Lucchin / BENITO Condemi de Felice. All rights reserved.

English Well Spoken. We better your spoken English. Presentazione di Corsi per Adulti

Online Resource 12: Dataset

Brand Il primo corso per gli imprenditori che vogliono imparare l arma segreta del Brand Positioning Introduzione

Guida per la creazione e la gestione di un profilo Google Scholar Citations

UN NUOVO MODELLO DI PRODUZIONE

Cos è la UNI EN ISO 9001?

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Brochure Internet. Versione The Keyrules Company s.r.l. Pagina 2 di 8

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

INVIO SMS

Il Regalo di Natale più bello

Training sulle soluzioni SAP BusinessObjects BI4

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

IL MANAGER COACH: MODA O REQUISITO DI EFFICACIA. Nelle organizzazioni la gestione e lo sviluppo dei collaboratori hanno una importanza fondamentale.

Linee guida per il Comitato Tecnico Operativo 1

MANUALEDIUTILIZZO MODULO CRM POSTVENDITA

ISO 9001:2015 e ISO 14001:2015

Introduzione all Information Retrieval

E 2 T 2 ENTERPRISE ENGINE FOR TROUBLE TICKETING

APP RIO8 APP PER LA CONFIGURAZIONE GUIDA PER L UTENTE. Omniabit s.r.l. Via Val Camonica 11, Milan, Italy support@omniabit.

Programmazione Orientata agli Oggetti in Linguaggio Java

Resusci Anne Skills Station

Ho messo la domotica a casa mia. My Home. Lorenzo Pini

I cookie sono classificati in base alla durata e al sito che li ha impostati.

Comunicazione per le PMI nuove soluzioni a un problema di sempre una practice di Orga 1925

Progettaz. e sviluppo Data Base

Come creare una pagina Facebook e collegarla al sito mosajco

Gestione Operativa e Supporto

Domande e risposte. Sommario. Autodesk Revit Autodesk Revit Architecture Autodesk Revit MEP Autodesk Revit Structure Autodesk Revit LT

ISO 9001:2000: COME UTILIZZARE LA NORMA PER GESTIRE I FORNITORI

La Leadership efficace

TNCguide OEM Informativa sull introduzione di documentazione aggiuntiva nella TNCguide

GUIDA ALL'INSTALLAZIONE PER NOKIA NETWORK BRIDGE. Copyright 2004 Nokia. Tutti i diritti sono riservati. 1/6

Dreamweaver CC Il Corso Fondamentale

L attenzione verso i collaboratori e la loro formazione, perché l azienda non cresce se i collaboratori restano indietro.

Servizio Feed RSS del sito CNIT

03. Il Modello Gestionale per Processi

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda.

Piano C. Giugno 2013 PROGETTO MOLTIPLICAZIONE

SICAR. Obiettivo. Scheda informativa. (sociétà d investimento a capitale di rischio)

Il mercato della Business Intelligence è attualmente in forte crescita. Il fenomeno si può spiegare in vari modi: la maturità raggiunta dai sistemi

CONSIGLI PER POTENZIARE L APPRENDIMENTO DELLA LINGUA

Get experienced, Get your travel. By You Travelers srl

Gestione delle formazione

Finlabo Market Update (17/12/2014)

ECO-SOCIAL E-SHOPS (MACEDONIA)

Using the QGIS Browser

CONTENT MANAGEMENT SYSTEM

Strumenti e metodi di ausilio didattico per i dislessici

INDICE. Accesso al Portale Pag. 2. Nuovo preventivo - Ricerca articoli. Pag. 4. Nuovo preventivo Ordine. Pag. 6. Modificare il preventivo. Pag.

Dropbox. Quando qualcuno ci invita a condivide con noi una cartella, veniamo avvisati via mail.

La valutazione dell opinione degli studenti sulla didattica

POAT. Europa per i Cittadini. Presentare una proposta di progetto. Comune di Agrigento Giovedì 14 Maggio 2015

CORSO PODUCT DESIGN ANNUALE. Realizzare oggetti da usare

Modula. Perchè ogni impresa è diversa

Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione

e-privacy 2012 Open data e tutela giuridica dei dati personali

L università degli Studi del Sannio

Magazine online specializzato nel BUSINESS TRAVEL & MICE (Meeting, Incentive, Congressi e Eventi) LISTINO 2009

ALBO PRETORIO WEB MANUALE DELLA PROCEDURA SOMMARIO. Uso del manuale. Informazioni generali. Interfaccia grafica. Guida di riferimento

Il test valuta la capacità di pensare?

Транскрипт:

The Best Practices Book Version: 2.5

The Best Practices Book (2.5) This work is licensed under the Attribution-Share Alike 3.0 Unported license (http://creativecommons.org/ licenses/by-sa/3.0/). You are free to share (to copy, distribute and transmit the work), and to remix (to adapt the work) under the following conditions: Attribution: You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). Share Alike: If you alter, transform, or build upon this work, you may distribute the resulting work only under the same, similar or a compatible license. For any reuse or distribution, you must make clear to others the license terms of this work. The information in this book is distributed on an as is basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author(s) nor SensioLabs shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work. If you find typos or errors, feel free to report them by creating a ticket on the Symfony ticketing system (http://github.com/symfony/symfony-docs/issues). Based on tickets and users feedback, this book is continuously updated.

Contents at a Glance Best Practice Symfony Framework...4 Creare il progetto...6 Configurazione...7 Organizzare la logica di business...8 Controllori...9 Template...10 Form...11 Internationalizzazione...12 Sicurezza...13 Risorse pubbliche...14 Test...15 Contents at a Glance iii

Chapter 1 Best Practice Symfony Framework Symfony è conosciuto per essere un framework molto flessibile ed è infatti utilizzato in diversi ambiti come ad esempio piccoli siti web, applicazioni enterprise con miliardi di richieste e anche come base per altri framework. Da quando è stato pubblicato nel luglio 2011, la comunità ha imparato molto su ciò che Symfony è in grado di fare e su quale sia il modo migliore per farlo. Le diverse risorse create dalla comunità, da articoli di blog a presentazioni a conferenze, hanno creato una serie di raccomandazioni e pratiche ufficiose per lo sviluppo di applicazioni Symfony. Purtroppo molte di queste raccomandazioni sono sbagliate e oltre a complicare lo sviluppo delle stesse applicazioni non sono allineate con la filosofia originale e pragmatica dei creatori di Symfony. Di che parla questa guida? Lo scopo di questa guida è quello di risolvere il problema sopra menzionato stabilendo una serie di buone pratiche ufficiali per lo sviluppo di applicazioni web con il framework Symfony. Queste pratiche sono quelle che meglio si adattano alla filosofia immaginata dal creatore originale del framework Fabien Potencier 1. Best practice è un termine che vuol dire "una procedura ben definita, nota per produrre risultati quasi ottimali". Ciò è esattamente quello che questa guida di propone di fornire. Anche se non tutti saranno d'accordo con ogni raccomandazione, c'è una ferma convinzione che saranno tutte d'aiuto per costruire grandi applicazioni con minore complessità. Questa guida è particolarmente indicata per: Siti web e applicazioni web sviluppato con il framework Symfony. Per altre situazioni, questa guida potrebbe essere un buon punto di partenza, che si potre estendere per soddisfare le proprie esigenze specifiche: Bundle condivisi pubblicamente con la comunità di Symfony; Sviluppatori esperti o squadre che hanno creato i propri standard; 1. https://connect.sensiolabs.com/profile/fabpot Chapter 1: Best Practice Symfony Framework 4

Alcune applicazioni complesse, con requisiti altamente personalizzati; Bundle che potrebbero essere condivisi internamente in un'azienda. Si sa che le vecchie abitudini sono dure a morire e qualcuno potrebbe meravigliarsi o non essere d'accordo con alcune di queste regole. Nonostante ciò, crediamo che seguendo questi consigli potrete sviluppare le applicazioni più velocemente, con una minore complessità e con la stessa o perfino una migliore qualità. Inoltre le raccomandazioni saranno continuamente aggiornate e migliorate. In ogni caso, considerare che le raccomandazioni sono *opzionali e che ogni sviluppatore può decidere se adottarle oppure no. Se si preferisce continuare a sviluppare utilizzando altre pratiche e metodologie, si può continuare a farlo. Symfony è abbastanza flessibile da adattarsi a ogni necessità e questo non cambierà mai. A chi è rivolto il libro? (Suggerimento: non è un tutorial) Questa guida è pensata per qualsiasi sviluppatore Symfony, sia esperto che principiante. Non essendo un tutorial passo passo, però, è necessaria una conoscenza basilare di Symfony, per seguire la guida al meglio. Per chi è proprio agli inizi, benvenuto nella comunità! Meglio iniziare con il tutorial la guida rapida. Inoltre è stato deciso di mantenere questa guida più piccola possibile, per essere molto facile da leggere. Non ci si soffermerà su spiegazioni che si possono trovare nella documentazione ufficiale di Symfony, come discussioni sulla dependency injection o sui front controller. Ci si soffermerà unicamente a spiegare come fare ciò che già si conosce. L'applicazione Insieme a questa guida ci sarà un'applicazione di esempio, sviluppata seguendo le best practice. L'applicazione è un semplice blog, che consentirà di concentrarsi sui concetti di Symfony, senza sconfinare in particolarità proprie dell'applicazione. Invece di sviluppare l'applicazione passo passo, ci saranno pezzi di codice all'interno dei singoli capitoli. Fare riferimento all'ultimo capitolo di questa guida per maggiori dettagli sull'applicazione e le istruzioni per installarla. Non aggiornare un'applicazione esistente Dopo aver letto questo manuale, qualcuno potrebbe pensare di rifattorizzare la sua applicazione Symfon. La raccomandazione è chiara e netta: meglio non rifattorizzare applicazioni esistenti per aderire a queste best practice. Le ragioni per non farlo sono diverse: Le applicazioni esistenti non sono sbagliate, seguono semplicemente un insieme diverso di linee guida; Una rifattorizzazione totale espone a possibili errori nell'applicazione; L'ammontare di lavoro speso potrebbe essere dedicato con più profitto a migliorare i test o ad aggiungere funzionalità che forniscano valore reale agli utenti finali. Chapter 1: Best Practice Symfony Framework 5

Chapter 2 Creare il progetto Chapter 2: Creare il progetto 6

Chapter 3 Configurazione Chapter 3: Configurazione 7

Chapter 4 Organizzare la logica di business Chapter 4: Organizzare la logica di business 8

Chapter 5 Controllori Chapter 5: Controllori 9

Chapter 6 Template Chapter 6: Template 10

Chapter 7 Form Chapter 7: Form 11

Chapter 8 Internationalizzazione Chapter 8: Internationalizzazione 12

Chapter 9 Sicurezza Chapter 9: Sicurezza 13

Chapter 10 Risorse pubbliche Chapter 10: Risorse pubbliche 14

Chapter 11 Test Chapter 11: Test 15