TYPO3 Extbase (Italiano)
TYPO3 Extbase (Italiano)
$26.20
Minimo
$26.20
consigliato
TYPO3 Extbase (Italiano)

Questo libro è completo al 100%

Completato il 2018-06-26

Info sul libro

Le estensioni sono il fondamento di TYPO3 CMS e una parte essenziale di ogni installazione TYPO3. Il metodo più veloce ed efficiente per lo sviluppo di estensioni è utilizzando la struttura Extbase e Il motore di template Fluid. Questo libro fornisce tutto quello che dovete sapere per operare con Extbase e Fluid in un formato facile da seguire con esempi reali. Il libro è stato scritto per aiutare gli sviluppatori di TYPO3 a produrre codice pulito a standard moderni, sostenuto da principi di programmazione contemporanei.

Scritto da Patrick Lobacher e tradotto verso l'inglese da Michael Schams, noti membri della comunità TYPO3, questa seconda edizione è stata aggiornata e copre tutti i nuovi aspetti di TYPO3 CMS 7 LTS. Questa edizione italiana è il primo libro italiano su TYPO3.

Dalle basi della programmazione orientata agli oggetti in PHP ai principi di Domain Driven Design e il concetto MVC (Model-View-Controller), gli autori spiegano fondamenti teorici e soluzioni pratiche. Tecnologie avanzate come AJAX, FAL, moduli di backend, JSON-Views, il Property Mapper di TYPO3 e più sono inclusi.

Dopo aver studiato questo libro, gli sviluppatori di estensioni hanno tutte le conoscenze a disposizione per padroneggiare progetti TYPO3 di ogni dimensione e complessità in Extbase e Fluid.

This book is a translation into italiano of TYPO3 Extbase (Deutsch) which was originally written in Deutsch.

Table of Contents

  • 1. Prefazione
    • 1.1 L’edizione TYPO3 CMS 7 LTS
    • 1.2 Formazione – Esperienza di Patrick
    • 1.3 Formazione – Esperienza di Gert-jan
    • 1.4 Riconoscimenti
    • 1.5 Traduzione
    • 1.6 Registro modifiche (changelog)
  • 2. Sviluppo moderno di estensioni
    • 2.1 Un nuovo TYPO3 emerge
    • 2.2 Il Manifesto di Berlino
    • 2.3 L’ora di nascita di TYPO3 Flow (FLOW3)
    • 2.4 Come la fenice (Phoenix) dalle ceneri
    • 2.5 Il dilemma TYPO3
    • 2.6 La divisione
    • 2.7 La storia di Extbase e Fluid
      • 2.7.1 Compatibilità (Backport): Extbase e Fluid
      • 2.7.2 Programmazione su un livello avanzato
  • 3. Programmazione orientata agli oggetti
    • 3.1 Classi e oggetti
    • 3.2 Metodi
      • 3.2.1 L’operatore freccia (Arrow Operator)
      • 3.2.2 Il costruttore (Constructor)
      • 3.2.3 L’accesso mediante $this
      • 3.2.4 Caricare metodi con contenuto
    • 3.3 L’ereditarietà delle classi (Inheritance)
      • 3.3.1 L’accesso mediante parent (genitore)
      • 3.3.2 Verifying Class Derivation
    • 3.4 Classi astratte
    • 3.5 Interfaccie (Interface)
    • 3.6 Visibilità: pubblico e protetto
      • 3.6.1 ‘Getter’ e ‘Setter’
    • 3.7 Cenno sul genere (Type Hints)
    • 3.8 Chiamate statici
    • 3.9 ‘Namespaces’
    • 3.10 Modelli importanti di progettazione
      • 3.10.1 Singleton
      • 3.10.2 Prototype
      • 3.10.3 Dependency Injection
    • 3.11 Annotazioni
  • 4. Progettazione guidata dal Dominio
    • 4.1 Ignoranza sull’infrastruttura
    • 4.2 Architettura a strati verticali
    • 4.3 Il modello di dominio
      • 4.3.1 Linguaggio ubiquitario
      • 4.3.2 Blocchi da costruzione di DDD
    • 4.4 Strutturare DDD
      • 4.4.1 Bounded Context(contesto delimitato)
      • 4.4.2 Context Maps (contesto mappato)
      • 4.4.3 Core Domain (nucleo del dominio)
      • 4.4.4 Shared Kernel (kernel condiviso)
      • 4.4.5 Riassunto capitolo
      • 4.4.6 Ulteriori riferimenti
  • 5. Panoramica di Extbase
    • 5.1 Installazione di Extbase & Fluid
      • 5.1.1 Conservare Commenti PHP Doc
    • 5.2 Installazione del estensione efempty
    • 5.3 Perlustrazione dell’estensione efempty
      • 5.3.1 File ext_emconf.php e ext_icon.gif
      • 5.3.2 File ext_tables.php
      • 5.3.3 File ext_localconf.php
      • 5.3.4 Controller Pluswerk\Efempty\Controller\StartController
      • 5.3.5 Dominio Pluswerk\Efempty\Domain\Model\Start
      • 5.3.6 Resa Attraverso View
      • 5.3.7 La Chiamata Show-Action
  • 6. Realizzazione del modello (Modellazione)
    • 6.1 Modello usato in questo Libro
    • 6.2 Concetto di base
      • 6.2.1 Il glossario
      • 6.2.2 Creare il modello
    • 6.3 Modellazione in Extbase - Extension Builder
      • 6.3.1 Proprietà dell’estensione
      • 6.3.2 Modello di domonio
      • 6.3.3 Proprietà del modello
      • 6.3.4 Rapporti nel modello
    • 6.4 Rettifiche per le classi Autoload
    • 6.5 Installazione dell’estensione
    • 6.6 Analisi dei file creati da Extension Builder
    • 6.7 Ulteriori funzioni di Extension Builder
      • 6.7.1 Duplicato di scorta (backup)
      • 6.7.2 Modificare il modello
      • 6.7.3 Class Builder
  • 7. Preparazione
    • 7.1 Frontend frameworks (strutture ‘vetrina’)
    • 7.2 Caricare TypoScript statico
    • 7.3 Caricare file CSS
    • 7.4 Impostazioni ‘IDE’
      • 7.4.1 PhpStorm: Crea progetto
      • 7.4.2 PhpStorm: File core (nucleo) di Typo3 da includere
      • 7.4.3 PhpStrom: Includere file schema di Fluid
      • 7.4.4 PhpStorm: Consigli sulla risoluzione di classi
      • 7.4.5 Estensione TYPO3 phpstorm
    • 7.5 Messaggi d’errore in TYPO3
    • 7.6 Svuotare la cache di sistema
  • 8. Il processo CRUD
    • 8.1 Creare un oggetto (Create)
      • 8.1.1 Creare l’azione nel Controller
      • 8.1.2 Creare il template di listAction
      • 8.1.3 Creare blog statici
      • 8.1.4 Persistenza dei blog
      • 8.1.5 Il ‘Persistence Manager’: Persistenza Manuale
      • 8.1.6 Creare un’Azione propria
      • 8.1.7 Modulo per creare un oggetto
    • 8.2 Visualizzare un oggetto (Read)
    • 8.3 Aggiornare un oggetto (Update)
    • 8.4 Eliminare un oggetto (Delete)
    • 8.5 Migliorare l’aspetto
    • 8.6 Riassunto capitolo
  • 9. Modelli in Fluid: Templates, Layouts e Partials
    • 9.1 Creare e referenziare layout
    • 9.2 Partials
      • 9.2.1 Partials semplici
      • 9.2.2 Partials complessi
  • 10. Gestione query e repository
    • 10.1 Struttura di un classe repository
    • 10.2 Funzioni repository per operazioni di scrittura
    • 10.3 Funzioni repository per operazioni di lettura
    • 10.4 Struttura predefinita di una query
      • 10.4.1 Approfondimento: Debugging (rimozione errori)
    • 10.5 Aggiustare una query
      • 10.5.1 Determinare il risultato
      • 10.5.2 Manipolare il risultato
      • 10.5.3 Congiunzione logica
      • 10.5.4 SQL nativo
      • 10.5.5 Impostazioni della query
    • 10.6 Esempio: Cerca parola chiave nel titolo
    • 10.7 Ricerca dinamica nel Repository
    • 10.8 Approfondimento: L’oggetto Request
  • 11. Configurazione TypoScript e FlexForm
    • 11.1 TypoScript
      • 11.1.1 Ambito del Setup
      • 11.1.2 Struttura di base
      • 11.1.3 Opzioni: view (vista)
      • 11.1.4 Opzioni: persistence (memoria)
      • 11.1.5 Opzioni: objects (oggetti)
      • 11.1.6 Opzioni: features (funzionalità)
      • 11.1.7 Opzioni: mvc
      • 11.1.8 Opzioni: settings (impostazioni)
      • 11.1.9 Opzioni: _LOCAL_LANG
      • 11.1.10 Opzioni: _CSS_DEFAULT_STYLE
    • 11.2 FlexForm
      • 11.2.1 Configurazione FlexForm
      • 11.2.2 SCA (Controllo di Azioni commutabili)
    • 11.3 TypoScript per le sezioni successive di questo Libro
    • 11.4 TypoScript per i moduli di backend
  • 12. Validazione e gestione errori
    • 12.1 Momento di validazione
    • 12.2 Gestione errori
    • 12.3 Panoramica della convalida
    • 12.4 Convalida delle proprietà
      • 12.4.1 Validatori Incorporati
      • 12.4.2 Validatori multipli
      • 12.4.3 Validatori propri
    • 12.5 Convalida dei oggetti
    • 12.6 Convalida delle azioni
    • 12.7 Visualizzazione errori nei moduli
      • 12.7.1 Opzione 1: con mezzi presenti
      • 12.7.2 Opzione 2: con un ViewHelper
  • 13. Relazioni
    • 13.1 Rapporti nel modello di dominio
    • 13.2 La matrice di configurazione (TCA)
      • 13.2.1 TCA: ctrl
      • 13.2.2 TCA: interface
      • 13.2.3 TCA: types
      • 13.2.4 TCA: palettes
      • 13.2.5 TCA: columns
    • 13.3 Il processo CRUD per Post
      • 13.3.1 Preparazione
      • 13.3.2 Creare Post (Create)
      • 13.3.3 Leggere Post (Read)
      • 13.3.4 Aggiornare Post (Update)
      • 13.3.5 Eliminare Post (Delete)
    • 13.4 Rapporto m:n con Tag come esempio
      • 13.4.1 Creare Tag nel backend
      • 13.4.2 Repository per Tag
      • 13.4.3 Rettifiche del Post Controller
      • 13.4.4 Rettifiche dei Templates e Partials
      • 13.4.5 Mostrare Tag in un elenco
    • 13.5 Rapporto 1:1 con Autori come esempio
      • 13.5.1 Creazione di utenti e gruppi Frontend
      • 13.5.2 Collegare l’oggetto di dominio autore alla tabella fe_users
      • 13.5.3 Definire l’autore per la creazione e modifica di un post
      • 13.5.4 Utente connesso come autore
    • 13.6 Commenti & AJAX
      • 13.6.1 Registrare l’azione AJAX
      • 13.6.2 Visualizzazione dei commenti
      • 13.6.3 Gestore JavaScript
      • 13.6.4 Azione AJAX nel Post Controller
      • 13.6.5 Definire tipo di pagina AJAX in TypoScript
  • 14. Creare i propri ViewHelper
    • 14.1 Dichiarazione del Namespace
    • 14.2 ViewHelper Testo
      • 14.2.1 Parametri via attributi
      • 14.2.2 Parametri via contenuto
      • 14.2.3 ViewHelper ‘TSFE’
    • 14.3 ViewHelper Tag
    • 14.4 ViewHelper if (se)
    • 14.5 ViewHelper Widget
      • 14.5.1 Widget di ordinamento
      • 14.5.2 Widget da A alla Z
  • 15. Multi-Lingua
    • 15.1 Configurazione lingua
    • 15.2 Etichette in lingua
    • 15.3 Etichette in lingua con segnaposti
    • 15.4 Sovrascrivere etichette in lingua con TypoScript
    • 15.5 Etichette in lingua in PHP
    • 15.6 Multi-Lingua per oggetti del dominio
      • 15.6.1 Database e TCA
      • 15.6.2 Creare lingue nel Backend
      • 15.6.3 Tradurre una registrazione
      • 15.6.4 Indirizzare il repository correttamente
      • 15.6.5 Creare registrazioni tradotte
  • 16. Moduli di Backend
    • 16.1 Registerare il modulo
    • 16.2 Archivio per etichette in lingua
    • 16.3 TypoScript
    • 16.4 Repository commenti
    • 16.5 Controller commenti
    • 16.6 Templates
      • 16.6.1 Sintassi del markup nel Backend
      • 16.6.2 Azione “Index” (indicizzare)
      • 16.6.3 Azione “List” (elencare)
      • 16.6.4 Pulsanti CSH
      • 16.6.5 Menu “Action”
      • 16.6.6 Pulsante scelta rapida
      • 16.6.7 Pulsante icona
  • 17. Mappatore di proprietà
    • 17.1 Esempio 1: Tipo semplice
    • 17.2 Esempio 2: Tipo complesso
    • 17.3 Configurazione del mappatore
    • 17.4 Configurazione del mappatore nella Stack del MVC
    • 17.5 Aspetti di sicurezza
    • 17.6 Sequenza conversioni dei tipi di dati
      • 17.6.1 Risoluzione automatica di TypeConverter
  • 18. Best Practices
    • 18.1 Messaggi flash
      • 18.1.1 Code di multeplici messaggi flash
      • 18.1.2 Accesso nel Controller
    • 18.2 Caricare plugin con TypoScript
    • 18.3 Feed RSS
      • 18.3.1 Icona Font Awesome
      • 18.3.2 Registrare azioni RSS
      • 18.3.3 Azioni RSS nel controllore Blog
      • 18.3.4 Vista in XML
      • 18.3.5 Aggiungere il campo crdate
      • 18.3.6 Setup con TypoScript
    • 18.4 Il UriBuilder
    • 18.5 Caricare Archivi
      • 18.5.1 Rettifiche al modello di dominio
      • 18.5.2 Aggiunta di un campo Upload
      • 18.5.3 Rettifiche al controllore Blog
      • 18.5.4 Rettifiche al modello Blog
      • 18.5.5 Rettifiche TCA
    • 18.6 Caricare attraverso ‘FAL’
      • 18.6.1 Modello di dominio Blog
      • 18.6.2 Riferire ai file nel modello (FileReference)
      • 18.6.3 Banca dati
      • 18.6.4 TCA del modello di dominio Blog
      • 18.6.5 TypoScript
      • 18.6.6 Posizione di archiviazione
      • 18.6.7 Campo Upload nel Template Form-
      • 18.6.8 Immagine nel Template Show-
      • 18.6.9 ViewHelper Form.Upload
      • 18.6.10 Controllore Blog
      • 18.6.11 Registrazione del Convertitore
      • 18.6.12 Convertitore FileReference Caricati
    • 18.7 File Abstraction Layer (FAL)
      • 18.7.1 Banca dati
      • 18.7.2 Table Configuration Array (TCA)
      • 18.7.3 XLIFF
      • 18.7.4 Modello di dominio
      • 18.7.5 Template Show- controllore Post
    • 18.8 stdWrap nelle impostazioni
    • 18.9 Signal Slot Dispatcher
      • 18.9.1 Segnali
      • 18.9.2 Slot
      • 18.9.3 Segnali Incorporati
      • 18.9.4 Esempio del’uso di Segnali Incorporati
      • 18.9.5 Creazione dei propri Segnali
    • 18.10 API Categorie
    • 18.11 Modelli Extbase
    • 18.12 Compiti di pianificazione
    • 18.13 JSON View
      • 18.13.1 Resa JSON nel esempio Blog
  • 19. PHP 7
    • 19.1 Messaggio di errore FileReference: “should be compatible”
  • 20. Riferimenti
    • 20.1 File ext_emconf.php
    • 20.2 Tipi di campo nel FlexForm
      • 20.2.1 Campo testo
      • 20.2.2 Campo Data
      • 20.2.3 Casella di spunta (Checkbox)
      • 20.2.4 Area di testo (Textarea)
      • 20.2.5 Textarea con RTE
      • 20.2.6 Pulsanti di scelta
      • 20.2.7 Elenco di scelta (Selectbox)
      • 20.2.8 Selectbox (Multipla)
      • 20.2.9 Browser di pagine
  • Glossario
  • Note

Info sugli autori

Gert-jan Dikkescheij
Gert-jan Dikkescheij

A parte il mio Commodore VIC-20, l'informatica nasce per me nel 1984 quando seguo il primo corso disponibile ad indirizzo elettronico. A conclusione di questa preparazione proseguo in ingegneria meccanica che pratico per tanti anni a seguire, alternato da viaggi in luoghi lontani ed impegni saltuari dove mi avvalgo della mia dote linguistica.

In particolar modo la mia permanenza a Melbourne Australia mi conduce nell'internet, e da allora cresce la mia passione per l'IT. Questo campo è come una nuova lingua ma con una sintassi precisa e interpretazione perfettamente lineare, che si addice alla mia natura analitica. Il mio coinvolgimento con TYPO3 invece è abbastanza recente, trattandosi di uno dei CMS più prestigiosi si serve di un uso di codice notevolmente più avanzato del solito.

È per questo che mi sono sentito chiamato per tradurre quest'opera. Ho fatto un notevole sforzo tra 'stackoverflow' e vari forum per collezionare la conoscenza necessaria per operare professionalmente con TYPO3, vi voglio offrire questo 'ingresso agevolato' ... buona lettura.

Patrick Lobacher
Patrick Lobacher

Patrick Lobacher is a digital native, consultant, speaker, developer and author of numerous books and articles about web development & agile. He is chairman of the +Pluswerk AG, which is active at 12 locations wordwide with more than 130 employees and delivers digital communcation solutions for demanding customers. Additionally he works as agile coach and helps companys with the introduction and optimization. He works with TYPO3 for 13 years and is part of the official TYPO3 teams "Education" (Co-Teamlead), "Certification" and "Marketing".

Patrick Lobacher ist Digital-Native, Berater, Speaker, Entwickler und Autor zahlreicher Fachbücher und -Artikel zum Thema Webdevelopment & Agile. Er ist Vorstandsvorsitzender der +Pluswerk AG, die an zwölf Standorten mit über 130 Mitarbeitern digitale Kommunikationslösungen im Enterprise-Bereich für anspruchsvolle Kunden konzipiert und umsetzt. Zudem ist er als Agile Coach tätig und berät hier Unternehmen in der Einführung und Optimierung. Mit TYPO3 beschäftigt er sich bereits seit 13 Jahren und arbeitet in den offiziellen TYPO3-Teams Education (Co-Teamlead), Marketing und Certification mit.

Info sui collaboratori

Michael Schams
Michael Schams

Michael Schams is an international advocate for open source technologies, holds a master’s degree in computer sciences and is a regular writer for technical journals.

With more than 12 years' experience in using and developing TYPO3 CMS, Michael is involved in several activities and projects around this leading open-source content management system. He is a certified TYPO3 Integrator, project leader of the official TYPO3 Security Guide and developer/maintainer of several TYPO3 extensions.

Currently based in Melbourne, Australia, Michael consults with clients across the globe to achieve best outcomes in the digital space, web hosting, IT infrastructure, IT security and cloud computing/storage.

Leanpub è garantito dalla formula soddisfatti o rimborsati. Nessun rischio, garanzia di Felicità al 100%

Entro 45 giorni dall'acquisto è possibile ottenere un rimborso completo del 100% del valore su qualsiasi acquisto Leanpub. Vedi completi.

Scrivi e pubblica con Leanpub

Gli autori e gli editori usano Leanpub per pubblicare incredibili libri in corso e completati, proprio come questo. Puoi usare Leanpub per scrivere, pubblicare e vendere anche il tuo libro! Leanpub è una potente piattaforma per autori seri, unendo un semplice e elegante workflow di scrittura e pubblicazione con un negozio focalizzato sulla vendita di ebooks in corso. Leanpub è una macchina da scrivere magica per gli autori: basta scrivere in testo semplice e pubblicare il tuo ebook, basta fare clic su un pulsante. È davvero così facile.

Ulteriori informazioni sulla scrittura con Leanpub