TYPO3 Extbase (Italiano)
TYPO3 Extbase (Italiano)
Sviluppo Estensioni Moderne per TYPO3 CMS con Extbase & Fluid
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.
Bundles that include this book
Info sui collaboratori

Michael Schams is a well-known, long-term member of the TYPO3 community with many years of professional experience. He holds a master's degree in computer sciences, is an international advocate of open-source software, and a regular writer for technical journals and online media.
Currently based in Melbourne (Australia), Michael consults with clients across the globe to achieve best outcomes in the digital space. He is also a member of the TYPO3 Education Committee and an AWS certified Cloud Practitioner and an AWS certified Solutions Architect.
Indice
-
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 60 giorni dall'acquisto è possibile ottenere un rimborso completo del 100% del valore su qualsiasi acquisto Leanpub. Vedi completi.
Do Well. Do Good.
Authors have earned$11,714,583writing, publishing and selling on Leanpub, earning 80% royalties while saving up to 25 million pounds of CO2 and up to 46,000 trees.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers), EPUB (for phones and tablets) and MOBI (for Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them
Top Books
Recipes for Decoupling
Matthias NobackWrite software that survives
OpenIntro Statistics
David Diez, Christopher Barr, Mine Cetinkaya-Rundel, and OpenIntroA complete foundation for Statistics, also serving as a foundation for Data Science.
Leanpub revenue supports OpenIntro (US-based nonprofit) so we can provide free desk copies to teachers interested in using OpenIntro Statistics in the classroom and expand the project to support free textbooks in other subjects.
More resources: openintro.org.
C++20 - The Complete Guide
Nicolai M. JosuttisAll new language and library features of C++20 (for those who know previous C++ versions).
The book presents all new language and library features of C++20. Learn how this impacts day-to-day programming, to benefit in practice, to combine new features, and to avoid all new traps.
Buy early, pay less, free updates.
Other books:
CQRS by Example
Carlos Buenosvinos, Christian Soronellas, and Keyvan Akbary- Leverage your Software Architecture skills by learning everything about CQRS in detail with lots of examples
- Develop faster applications by applying CQRS and fostering Read Models and Projections
- Learn how to apply CQRS into a brownfield project from a pragmatic approach
Ansible for DevOps
Jeff GeerlingAnsible is a simple, but powerful, server and configuration management tool. Learn to use Ansible effectively, whether you manage one server—or thousands.
Maîtriser Apache JMeter
Philippe Mouawad, Bruno Demion (Milamber), and Antonio Gomes RodriguesToute la puissance d'Apache JMeter expliquée par ses commiteurs et utilisateurs experts. De l'intégration continue en passant par le Cloud, vous découvrirez comment intégrer JMeter à vos processus "Agile" et Devops.
If you're looking for the newer english version of this book, go to Master JMeter : From load testing to DevOps
Jetpack Compose internals
Jorge CastilloJetpack Compose is the future of Android UI. Master how it works internally and become a more efficient developer with it. You'll also find it valuable if you are not an Android dev. This book provides all the details to understand how the Compose compiler & runtime work, and how to create a client library using them.
The PowerShell Scripting and Toolmaking Book
Don Jones and Jeff HicksLearn the patterns, practices, and details of PowerShell Scripting and Toolmaking from the industry's two most recognized experts on the subject.
Mastering STM32 - Second Edition
Carmine NovielloWith more than 1200 microcontrollers, STM32 is probably the most complete ARM Cortex-M platform on the market. This book aims to be the most complete guide around introducing the reader to this exciting MCU portfolio from ST Microelectronics and its official CubeHAL and STM32CubeIDE development environment.
Introduction to Data Science
Rafael A IrizarryThe demand for skilled data science practitioners in industry, academia, and government is rapidly growing. This book introduces concepts from probability, statistical inference, linear regression and machine learning and R programming skills. Throughout the book we demonstrate how these can help you tackle real-world data analysis challenges.
Top Bundles
- #1
Software Architecture
2 Books
"Software Architecture for Developers" is a practical and pragmatic guide to modern, lightweight software architecture, specifically aimed at developers. You'll learn:The essence of software architecture.Why the software architecture role should include coding, coaching and collaboration.The things that you really need to think about before... - #2
CCIE Service Provider Ultimate Study Bundle
2 Books
Piotr Jablonski, Lukasz Bromirski, and Nick Russo have joined forces to deliver the only CCIE Service Provider training resource you'll ever need. This bundle contains a detailed and challenging collection of workbook labs, plus an extensively detailed technical reference guide. All of us have earned the CCIE Service Provider certification... - #4
Pattern-Oriented Memory Forensics and Malware Detection
2 Books
This training bundle for security engineers and researchers, malware and memory forensics analysts includes two accelerated training courses for Windows memory dump analysis using WinDbg. It is also useful for technical support and escalation engineers who analyze memory dumps from complex software environments and need to check for possible... - #6
All the Books of The Medical Futurist
6 Books
We put together the most popular books from The Medical Futurist to provide a clear picture about the major trends shaping the future of medicine and healthcare. Digital health technologies, artificial intelligence, the future of 20 medical specialties, big pharma, data privacy, digital health investments and how technology giants such as Amazon...