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 an active and long-term member of the TYPO3 community and combines extensive experience with fresh ideas. He holds a master's degree in computer sciences, is an international advocate of open-source technologies and regularly publishes articles in professional journals and online media.
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
Authors have earned$10,095,386writing, publishing and selling on Leanpub, earning 80% royalties while saving up to 25 million pounds of CO2 and up to 46,000 trees.
Ulteriori informazioni sulla scrittura con Leanpub
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.
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
C++20
Rainer GrimmC++20 is the next big C++ standard after C++11. As C++11 did it, C++20 changes the way we program modern C++. This change is, in particular, due to the big four of C++20: ranges, coroutines, concepts, and modules.
The book is almost daily updated. These incremental updates ease my interaction with the proofreaders.
A Guide to Artificial Intelligence in Healthcare
Dr. Bertalan MeskoCan we stay human in the age of A.I.? To go even further, can we grow in humanity, can we shape a more humane, more equitable and sustainable healthcare? This e-book aims to prepare healthcare and medical professionals for the era of human-machine collaboration. Read our guide to understanding, anticipating and controlling artificial intelligence.
Atomic Kotlin
Bruce Eckel and Svetlana IsakovaFor both beginning and experienced programmers! From the author of the multi-award-winning Thinking in C++ and Thinking in Java together with a member of the Kotlin language team comes a book that breaks the concepts into small, easy-to-digest "atoms," along with exercises supported by hints and solutions directly inside IntelliJ IDEA!
C++ Best Practices
Jason TurnerLevel up your C++, get the tools working for you, eliminate common problems, and move on to more exciting things!
Introducing EventStorming
Alberto BrandoliniThe deepest tutorial and explanation about EventStorming, straight from the inventor.
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.
Everyday Rails - RSpecによるRailsテスト入門
Junichi Ito (伊藤淳一), AKIMOTO Toshiharu, 魚振江, and Aaron SumnerRSpecを使ってRailsアプリケーションに信頼性の高いテストを書く実践的なアドバイスを提供します。詳細で丁寧な説明は本書のオリジナルコンテンツです。また、説明には実際に動かせるサンプルアプリケーションも使用します。本書は2017年版にアップデートされ、RSpec 3.6やRails 5.1といった新しい環境に対応しています!さあ、自信をもってテストできるようになりましょう!
R Programming for Data Science
Roger D. PengThis book brings the fundamentals of R programming to you, using the same material developed as part of the industry-leading Johns Hopkins Data Science Specialization. The skills taught in this book will lay the foundation for you to begin your journey learning data science. Printed copies of this book are available through Lulu.
The Hundred-Page Machine Learning Book
Andriy BurkovEverything you really need to know in Machine Learning in a hundred pages.
Continuous Delivery Pipelines
Dave FarleyThis practical handbook provides a step-by-step guide for you to get the best continuous delivery pipeline for your software.
Top Bundles
- #1
Software Architecture for Developers: Volumes 1 & 2 - Technical leadership and communication
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
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... - #3
PowerShell
3 Books
Buy every PowerShell book from Adam Bertram at a 20% discount! - #4
Cisco CCNA 200-301 Complet
4 Books
Ce lot comprend les quatre volumes du guide préparation à l'examen de certification Cisco CCNA 200-301. - #5
Software Architecture and Beautiful APIs
2 Books
There is no better way to learn how to design good APIs than to look at many existing examples, complementing the Software Architecture theory on API design. - #6
Linux Administration Complet
4 Books
Ce lot comprend les quatre volumes du Guide Linux Administration :Linux Administration, Volume 1, Administration fondamentale : Guide pratique de préparation aux examens de certification LPIC 1, Linux Essentials, RHCSA et LFCS. Administration fondamentale. Introduction à Linux. Le Shell. Traitement du texte. Arborescence de fichiers. Sécurité... - #7
Learn Git, Bash, and Terraform the Hard Way
3 Books
Learn Git, Bash and Terraform using the Hard Way method.These technologies are essential tools in the DevOps armoury. These books walk you through their features and subtleties in a simple, gradual way that reinforces learning rather than baffling you with theory. - #8
9 Books-Bundle: Shut Up and Code!
9 Books
"Shut up and code." Laughter in the audience. The hacker had just plugged in his notebook and started sharing his screen to present his super-smart Python script. "Shut up and code" The letters written in a white literal coding font on black background was the hackers' home screen background mantra. At the time, I was a first-year computer... - #9
Mastering Containers
2 Books
Docker and Kubernetes are taking the world by storm! These books will get you up-to-speed fast! Docker Deep Dive is over 400 pages long, and covers all objectives on the Docker Certified Associate exam.The Kubernetes Book includes everything you need to get up and running with Kubernetes! - #10
CCDE Practical Studies (All labs)
3 Books
CCDE lab