PHPackages                             psb/psb-foundation - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. psb/psb-foundation

Abandoned → [psbits/foundation](/?search=psbits%2Ffoundation)Typo3-cms-extension[Framework](/categories/framework)

psb/psb-foundation
==================

Configuration framework for TYPO3 extension development

3.2.0(1mo ago)52.8k3GPL-3.0-or-laterPHPPHP ^8.3

Since Apr 27Pushed 3mo ago2 watchersCompare

[ Source](https://github.com/phantasie-schmiede/foundation)[ Packagist](https://packagist.org/packages/psb/psb-foundation)[ RSS](/packages/psb-psb-foundation/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (12)Versions (35)Used By (0)

PSBits Foundation
=================

[](#psbits-foundation)

Enhanced extension programming in Extbase (supports TYPO3 v12 and v13)
----------------------------------------------------------------------

[](#enhanced-extension-programming-in-extbase-supports-typo3-v12-and-v13)

---

**IMPORTANT:**The vendor and extension name have changed from `psb/psb-foundation` to `psbits/foundation`! Have a look into the `Documentation/` directory for information about upgrading from a previous version.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

[](#importantthe-vendor-and-extension-name-have-changed-from-psbpsb-foundation-to-psbitsfoundationhave-a-look-into-the-documentation-directory-for-information-about-upgrading-from-a-previous-version)

- [What does it do?](#what-does-it-do)
- [Why should you use it?](#why-should-you-use-it)
- [Getting started](#getting-started)
- [TCA generation](#tca-generation)
    - [Tabs and palettes](#tabs-and-palettes)
    - [Database definitions](#database-definitions)
    - [Extending domain models](#extending-domain-models)
    - [Default language label paths](#default-language-label-paths)
- [Registering and configuring plugins](#registering-and-configuring-plugins)
    - [FlexForms](#flexforms)
    - [Content element wizard](#content-element-wizard)
    - [Custom page types for single plugins](#custom-page-types-for-single-plugins)
- [Registering and configuring modules](#registering-and-configuring-modules)
- [Registering custom page types](#registering-custom-page-types)
- [Auto-registration of TypoScript-files](#auto-registration-of-typoscript-files)
- [Auto-registration of TSconfig-files](#auto-registration-of-tsconfig-files)
- [Auto-registration of icons](#auto-registration-of-icons)
- [Extension settings](#extension-settings)
- [Helper classes](#helper-classes)
    - [ContextUtility](#contextutility)
    - [GlobalVariableService](#globalvariableservice)
    - [StringUtility](#stringutility)
    - [TranslateViewHelper](#translateviewhelper)
    - [TypoScriptProviderService](#typoscriptproviderservice)
    - [UploadService](#uploadservice)

### What does it do?

[](#what-does-it-do)

This extension

- generates the TCA for your domain models by reading their php attributes
- offers autocompletion for TCA by constructor properties of attribute classes
- generates database definitions for your domain models
- simplifies the registration of modules, plugins and page types
- automatically registers existing FlexForms, TypoScript and icons
- provides an easy-to-use frontend file upload with automatic reference creation to given domain models
- provides an optimized TranslateViewHelper with additional options (e.g. plural forms and better variable syntax)
- allows the definition of frontend variables which can be used all over the site (e.g. IBAN or telephone numbers)
- provides convenient ways to access often used core-functionalities

#### IMPORTANT

[](#important)

foundation is designed to simplify common recurrent settings. Although it offers a versatile set of configurations and tools, you may not be able to map certain complex scenarios with it. But you can still make use of this extension. For example, you can use the auto-generation of the TCA and add special settings via files in `TCA/Overrides/` as usual.

### Why should you use it?

[](#why-should-you-use-it)

The goal of this extension is to

- bring together different points of configuration to improve readability, maintainability and development time
- allow code completion for TCA-settings
- reduce duplicated code
- reduce number of hard-coded string identifiers and keys, and therefore the likelihood of errors due to typos

### Getting started

[](#getting-started)

Create the following file: `EXT:your_extension/Classes/Data/ExtensionInformation.php`. Define the class and make it extend `PSBits\Foundation\Data\AbstractExtensionInformation`.

Example:

```
