IoT: Decoupling, Web Services, Front-End Frameworks

Built for the Future

Introduced in version 9.2

If the improvements and new features described above are not exciting and technical enough, you are probably a hard-core PHP developer!

TYPO3’s reputation of being a dinosaur on the CMS market does not mean, the code base can not feature contemporary technologies and adopt modern software paradigms. Earlier this year, the PSR-15 middleware specification was officially released. The PSR-15 standard is defined as follows:

“[PSR-15] describes common interfaces for HTTP server request handlers (request handlers) and HTTP server middleware components (middleware) that use HTTP messages [...]. HTTP request handlers are a fundamental part of any web application. Server side code receives a request message, processes it, and produces a response message. HTTP middleware is a way to move common request and response processing away from the application layer.”

TYPO3 aims to support PSR-15 middlewares out-of-the box. This approach will improve interoperability with independent libraries and all requests in the TYPO3 core will return a PSR-7 response. As one of the first enterprise content management systems on the market, TYPO3 version 9.2 introduces PSR-15 middlewares in the frontend, as well as in the backend.

TYPO3 v9 LTS (scheduled release date in November 2018) aims to avoid constants and global variables if possible. Therefore, a new class “Environment” was developed, which acts as a central place for storing properties commonly used throughout the core. This class also contains methods that are relevant for all kind of PHP, CLI and web requests.


Updated PSR Standards

Introduced in version 11.0

I cannot say often enough how vital unified standards are. Using coding guidelines and following official recommendations, we make sure that the TYPO3 Core architecture meets the highest standards and uses state-of-the-art technologies. The PHP Framework Interop Group issues and publishes exactly such standards: the well-known PSR standards. We already adopted a wide range of them and introduced the PSR-11 ContainerInterface, PSR-14 EventDispatchers, and PSR-15 Middlewares in previous TYPO3 versions.

PSR-7 and PSR-17 are not new to the TYPO3 world either. These standards describe common interfaces for representing HTTP messages. In simple terms: how PHP applications receive and generate HTTP requests, and how they should respond to them.

We continuously improve the TYPO3 Core according to these standards and have made PSR-7 Request/Response objects available for extension developers and integrators in even more places—for example, in custom-developed content objects (“cObjects”).


Event dispatcher

Introduced in version 10.0

We told you: TYPO3 version 10.0 is the perfect release to introduce new, modern technologies to excite every TYPO3 developer. In fact, we have actively contributed to the PSR-14 standard over the last year, and added this to the TYPO3 universe.

Hooks and the Signal/Slot concept is one of TYPO3’s superpowers. The latter allows to extend the core functionality by emitting a signal and to notify other components about a specific event. TYPO3 extension developers can leverage this technology and build upon the core feature.

We've now added an Event Dispatcher to the TYPO3 core (clearly specified in PSR-14), that has the same API as the Zend Framework or Symfony's EventDispatcher Component. “Events” will be added over the course of the next TYPO3 sprint releases and this technology aims to replace hooks and Signal/Slots in the mid term.

As an extension developer you don’t need to worry: hooks and registered slots remain as they stand now and will work the same way as before for the time being.