TYPO3 Logo
How to Document TYPO3
Options
Give feedback View source How to edit Edit on GitHub Full documentation (single file)

How to Document TYPO3

BASICS

  • Basic principles
  • ReST Cheat Sheet
  • Markdown Cheat Sheet

REFERENCE

  • reStructuredText
    • Code blocks and code structure
      • Code blocks
      • Configuration values (confval)
      • Inline Code
      • PHP domain
      • Site settings
    • Directives
      • Accordion
      • Admonitions: Tip, Note, Warning, See also, etc
      • Cards
      • Comments
      • Special characters
      • Tables
      • Tabs
      • Versions
      • ViewHelper
      • Embed YouTube videos
    • Figures and diagrams
      • Images
      • PlantUML diagrams
    • Inline Markup
      • Bold, Italic etc.
      • Text Roles
    • Links
      • Anchors
      • API links
      • Composer / Extensions
      • Core source
      • Documentation references
      • example.org
      • External URLs
    • Lists
      • Styled numbered sections (bignums)
      • Bullet lists / unordered lists
      • Definition lists
      • Directory tree
      • List items as buttons
      • Numbered lists
    • Menus and headers
      • Headlines
      • Main menu
      • Content menu
      • Including files
      • Navigation title
      • Orphans
      • Sidebar
  • CGL for ReST files
  • File structure
  • guides.xml
  • Rendering container
  • Screenshot container

HOWTOS

  • Edit Locally
  • Edit on GitHub
  • Contribute
    • Help
  • Migrate
    • Markdown to ReST
  • Render
  • Document extensions
    • Webhook
    • Reregister versions
    • FAQ
    • Contribute to system extensions
    • Contribute to third-party extensions

ADVANCED

  • Advanced
    • Coding guidelines for reST files
    • Spelling
    • Formats (reST, Markdown)
    • Spelling, terms and glossary
    • Guidelines for creating images
    • How to add translations
    • Licenses
    • Policy for making and reviewing contributions

MAINTAINERS

  • For maintainers
    • Backport changes
    • Apply changelog entries to the docs
    • Code snippet generation
    • Fluid ViewHelper reference generation
    • New major Core version is released
    • Tools of the Documentation Team
  • Sitemap
  1. How to Document
  2. reStructuredText
  3. Links
  4. API links
Give feedback Edit on GitHub

API links: More information on TYPO3 PHP classes

At https://api.typo3.org/ all classes and interfaces of the TYPO3 Core are listed with their public members and descriptions. The API itself also links to the source code on GitHub. You can use implicit and explicit links to these:

  • Explicit links to api.typo3.org
  • Implicit links to fully-qualified names
  • Links to the API with the short class name

Explicit links to api.typo3.org

..  Explicit links

*   :api-class:`\TYPO3\CMS\Extbase\Routing\ExtbasePluginEnhancer`
*   :api-class:`In main <api-dev:\TYPO3\CMS\Extbase\Routing\ExtbasePluginEnhancer>`
*   :api-class:`In 11.5 <api-11:\TYPO3\CMS\Extbase\Routing\ExtbasePluginEnhancer>`
*   :api-class:`\TYPO3\CMS\Core\EventDispatcher\EventDispatcher
    <api:\TYPO3\CMS\Core\EventDispatcher\EventDispatcher>`
Copied!

The links then look like this:

  • ExtbasePluginEnhancer
  • In main
  • In 11.5
  • \TYPO3\CMS\Core\EventDispatcher\EventDispatcher

Explicit links can use the interlink scheme to link to different TYPO3 versions. If not specified they also link to the typo3-core-preferred.

If you want to link directly to the source files on GitHub, you can use the :t3src: text role.

Implicit links to fully-qualified names

Implicit links have the advantage that they show more information about the class or interface in a popover while they still offer a link to the API.

..  Implicit links using the :php: text role:

*   :php:`\TYPO3\CMS\Adminpanel\Controller\AjaxController`
*   :php:`\TYPO3\CMS\Core\Http\Dispatcher`
*   :php:`\TYPO3\CMS\Adminpanel\ModuleApi\ContentProviderInterface`
*   :php:`\TYPO3\CMS\Backend\Search\LiveSearch\SearchDemand\DemandPropertyName`
*   :php:`\TYPO3\CMS\Backend\Form\Behavior\OnFieldChangeTrait`
*   :php:`\Psr\Log\LoggerInterface`
*   :php:`\TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper`
*   :php:`\MyVendor\MyExtension\FooBar`
*   :php:`\Foo\Bar\Something`

..  prevent help text being displayed

`This\Is\No\Class`
Copied!

The links then look like this:

  • \TYPO3\CMS\Adminpanel\Controller\AjaxController
  • \TYPO3\CMS\Core\Http\Dispatcher
  • \TYPO3\CMS\Adminpanel\ModuleApi\ContentProviderInterface
  • \TYPO3\CMS\Backend\Search\LiveSearch\SearchDemand\DemandPropertyName
  • \TYPO3\CMS\Backend\Form\Behavior\OnFieldChangeTrait
  • \Psr\Log\LoggerInterface
  • \TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper
  • \MyVendor\MyExtension\FooBar
  • \Foo\Bar\Something

This\Is\No\Class

As you can see, only links to the namespace /TYPO3/CMS can be linked to the API. We do display general information about some other namespaces that are commonly used in TYPO3 development. Example namespaces should always start with \MyVendor\`. Use MyVendorMyExtension` for extensions and `MyVendorMySitepackage` for sitepackages.

Implicit links are always referring to your typo3-core-preferred as set in the guides.xml.

Links to the API with the short class name

Using the text role php-short you can display the short name of the class or interface within the text. Other then that it works just like the :php: text role.

..  Short PHP class names, still linking to the API:

*   :php-short:`\TYPO3\CMS\Adminpanel\Controller\AjaxController`
*   :php-short:`\TYPO3\CMS\Core\Http\Dispatcher`
*   :php-short:`\TYPO3\CMS\Adminpanel\ModuleApi\ContentProviderInterface`
*   :php-short:`\TYPO3\CMS\Backend\Search\LiveSearch\SearchDemand\DemandPropertyName`
*   :php-short:`\TYPO3\CMS\Backend\Form\Behavior\OnFieldChangeTrait`
*   :php-short:`\Psr\Log\LoggerInterface`
*   :php-short:`\TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper`
*   :php-short:`\MyVendor\MyExtension\FooBar`
*   :php-short:`\Foo\Bar\Something`
Copied!

The links then look like this:

  • AjaxController
  • Dispatcher
  • ContentProviderInterface
  • DemandPropertyName
  • OnFieldChangeTrait
  • \LoggerInterface
  • \AbstractViewHelper
  • \FooBar
  • \Something
  • Previous
  • Next
Reference to the headline

Copy and freely share the link

This link target has no permanent anchor assigned. You can make a pull request on GitHub to suggest an anchor. The link below can be used, but is prone to change if the page gets moved.

Copy this link into your TYPO3 manual.

  • Home
  • Contact
  • Issues
  • Repository

Last rendered: Jun 09, 2025 05:55

© since 2017 by the TYPO3 contributors
  • Legal Notice
  • Privacy Policy