Daniel Siepmann - Coding is Art

Blog Posts

Topic: extbase

TypoScript outside of Frontend context

Published: , Updated:

Tested with TYPO3: 10 LTS, 9 LTS, 8 LTS

Topics: typo3, typoscript, extbase

TypoScript by concept is meant for frontend context only. There is TSconfig for backend as well. Extbase introduced a way to also configure backend modules via TypoScript. Nowadays TypoScript is also used in other context, e.g. scheduler tasks or commands.

I'll explain how the actual TypoScript is loaded, so you understand that part and can use it.

Concrete TYPO3 Dependency Injection examples

Published: , Updated:

Tested with TYPO3: 10 LTS

Topics: typo3, extbase

Some real world examples on how to use the Symfony Dependency Injection in TYPO3. E.g. how to inject TypoScript settings or database query builder.

Reuse existing Extbase controller

Published: , Updated:

Tested with TYPO3: 10 LTS

Topics: typo3, extbase

Since TYPO3 10.0 it is possible, actually necessary, to use FQCN (=Fully Qualified Class Names) for controllers when configuring plugins and modules. This provides a new benefit in terms of reusing and sharing code between different extensions.

This blog post will explain the benefit and provide an outlook in a possible future of TYPO3 Extbase extensions.

TYPO3 Plugins as Content Elements

Published: , Updated:

Tested with TYPO3: 9 LTS, 8 LTS

Topics: typo3, typoscript, extbase

E.g. to add a simplified and project-specific News Extension Content element for backend editors.

You might think “I know what plugins, within TYPO3, are”. Maybe that’s true, maybe you will still learn something new.

This blog post will first explain what TYPO3 plugins are. But it will also explain how to define site specific plugins for existing installed 3rd party extensions, and why this might be useful.

TYPO3 (Extbase) Injection

Published: , Updated:

Tested with TYPO3: 9 LTS, 8 LTS

Topics: typo3, extbase

TYPO3 provides a way of dependency injection. This way you do not need to resolve dependencies inside of your code, but the framework will resolve and provide the dependencies for you. This is provided by the framework Extbase, back ported of Flow.

The main benefit is the flexibility. Using Interfaces to define dependencies, instead of concrete classes, it’s possible to exchange injected dependencies just by configuring the framework. This way you can exchange classes in 3rd party code and receive a huge flexibility. Same goes for testing your code. In this Post I will show you the different ways to make use of dependency injection inside of TYPO3 and provide help for edge cases.