Corso TYPO3 6: Extension Developer

I corsi sono tenuti da personale certificato TYPO3

A chi è rivolto

Il corso è rivolto agli sviluppatori che vogliono apprendere l'architettura di TYPO3, conoscerne la strutturazione dei contenuti, le API di gestione esposte dal core e le best practice per estendere la piattaforma integrando nuove funzionalità. Questo corso è adatto sia agli sviluppatori che non conoscono lo sviluppo su TYPO3, sia a quegli sviluppatori che hanno già esperienza di sviluppo per questo CMS.

Descrizione

Durante le giornate di corso verranno presentati il framework Extbase e il template engine Fluid, verranno presentati i concetti di Model, View e Controller e quelli di ViewHelper e Widget. Verranno viste le modalità di interazione con il database di TYPO3 mediante l’uso dei Repository e di gestione degli asset attraverso il FAL di TYPO3. Il corso prevede delle lezioni frontali e degli esercizi da svolgere singolarmente per ogni partecipante.

Obiettivi

Il partecipante apprenderà le nozioni di base del framework Extbase e del template engine Fluid, come sviluppare nuove estensioni MVC per TYPO3 e come interagire col core per personalizzarne il funzionamento in base alle proprie esigenze.

Prerequisiti

I partecipanti devono avere almeno 2 anni di esperienza nella programmazione PHP e conoscere i principi di base di operazioni sul database. Ulteriore requisito è la conoscenza di sviluppo in ambiente LAMP e dei sistemi basati su Unix, di HTML, CSS, PHP 5 e delle tecniche di programmazione object-oriented. Esperienza con il design pattern MVC è raccomandata ma non obbligatoria.
E’ richiesta anche la conoscenza di TYPO3 a livello amministratore (corso “TYPO3 Administrator”) e, preferibilmente ma non obbligatoria, la conoscenza del sistema di templating di TYPO3 (corso “TYPO3 Fluid-Template Designer”).

Durata

Il corso ha una durata di 3 giorni

Programma

Questi i temi trattati durante le giornate di formazione:

  • Extbase: concetti alla base del framework

    • Introduzione al Domain Driven Design (DDD)
    • Introduzione al paradigma MVC
    • Convenzioni basate su TYPO3 FLOW

  • La prima estensione in extbase attraverso l'extention builder di TYPO3

    • Setup estensione
    • Modellizzazione del dominio

      • Entity vs value object
      • Aggregate root
      • Repository
      • Relations
      • Configurazione actions di default e custom

    • Configurazione extention builder

      • Settings.yaml
      • Opzioni di backup

  • L’estensione in dettaglio

    • Struttura delle cartelle create, convenzioni
    • Come TYPO3 integra l'estensione

      • I file ext_*.php
      • Azioni cachable e not cachable

    • Installazione estensione, inclusione typoscript

  • Flusso di una request MVC Extbase

    • interazione controller con model e view

  • Sviluppo della logica applicativa

    • Controllers

      • Metodi importanti: initialize, error

    • Domain

      • Model

        • PHP-docs: @lazy

      • Repository

        • Metodi importanti: add, remove, …
        • Query custom tramite constraints
        • Query custom raw

      • Validator

        • PHP-docs: @validate, @dontvalidate
        • Validazione nel model
        • Validazione nel controller

    • View

      • Object Accessors (metodi getter e setter)
      • ViewHelper

        • View helper di fluid
        • Custom view helper

      • Layout vs Template vs Partial
      • Output differenti (xml, json)

  • Integrare il FAL

    • File e FileReference
    • ViewHelper per la visualizzazione delle immagini

  • Estendere un’estensione esistente

    • Sviluppo di una nuova estensione
    • Dependency Injection

  • Rilasciare l’estensione nel repository pubblico

    • Caricare l’estensione su Forge
    • Rilasciare l’estensione nel TER

Gli altri corsi TYPO3

Administrator

Il corso è dedicato a chi si occupa di amministrare e mantenere aggiornati i contenuti di un sito web basato su TYPO3.

Vai al programma

Fluid-Template Designer

Il corso è rivolto a web designer che vogliono comprendere le modalità e le best practice per lo sviluppo di template in TYPO3 basati sul nuovo engine Fluid.

Vai al programma

Security and Performance Optimization

Il corso è rivolto a professionisti TYPO3 che vogliono migliorare le prestazioni e la sicurezza del proprio sito TYPO3.

Vai al programma