TYPO3 Extbase (Italiano)
Questo libro è completo al 100%
Completato il 2018-10-05
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.
Info sui collaboratori

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.
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.3.1 L’accesso mediante
- 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
eext_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
-
5.3.1 File
-
5.1 Installazione di Extbase & Fluid
-
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
-
8.1 Creare un oggetto (Create)
-
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
-
11.1 TypoScript
-
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.2.1 TCA:
-
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
-
18.1 Messaggi flash
-
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
-
20.1 File
- Glossario
- Note
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.