Download the PHP package mteu/typo3-typed-extconf without Composer

On this page you can find all versions of the php package mteu/typo3-typed-extconf. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package typo3-typed-extconf

[![CGL](https://github.com/mteu/typo3-typed-extconf/actions/workflows/cgl.yaml/badge.svg)](https://github.com/mteu/typo3-typed-extconf/actions/workflows/cgl.yaml) [![Tests](https://github.com/mteu/typo3-typed-extconf/actions/workflows/tests.yaml/badge.svg?branch=main)](https://github.com/mteu/typo3-typed-extconf/actions/workflows/tests.yaml) [![Coverage](https://coveralls.io/repos/github/mteu/typo3-typed-extconf/badge.svg?branch=main)](https://coveralls.io/github/mteu/typo3-typed-extconf?branch=main) [![Maintainability](https://qlty.sh/gh/mteu/projects/typo3-typed-extconf/maintainability.svg)](https://qlty.sh/gh/mteu/projects/typo3-typed-extconf) # TYPO3 Typed Extension Configuration ![TYPO3 versions](https://typo3-badges.dev/badge/typed_extconf/typo3/shields.svg) ![Latest version](https://typo3-badges.dev/badge/typed_extconf/version/shields.svg) ![Stability](https://typo3-badges.dev/badge/typed_extconf/stability/shields.svg) [![PHP Version Require](https://poser.pugx.org/mteu/typo3-typed-extconf/require/php)](https://packagist.org/packages/mteu/typo3-typed-extconf)

This TYPO3 CMS extension aims to provide a type-safe extension configuration management for TYPO3, ensuring proper types instead of string-only values from backend configuration or mixed types from config/system/settings.php|additional.php (or custom solutions around those).

[!WARNING] This extension is in a testing and review phase and hence marked beta. Be cautious when using this in production environments.

πŸš€ Features

⚑️ Installation

Add this package to your TYPO3 Extension:

This extension relies heavily on these key dependencies:

πŸ’‘ Usage

[!TIP] For a comprehensive developer guide with advanced examples and best practices, check out the Developer Guide.

[!NOTE] If you're in a hurry you might want to have this package generate configuration classes automatically based on your extension's ext_conf_template.txt.

Run ./vendor/bin/typo3 typed-extconf:generate or consult the Command Guide.

Use with caution, though, since this functionality is not well tested, yet.

1. Define Configuration Schema

Create a configuration class for your extension using PHP attributes:

2. Access Typed Configuration

Option A: Direct Injection (Recommended)

Directly inject your configuration object using dependency injection:

Option B: Using the Provider

Alternatively, use the configuration provider service:

πŸ“™ Attribute Reference

#[ExtensionConfig]

Class-level attribute to specify which TYPO3 extension the configuration belongs to.

Parameters:

#[ExtConfProperty]

Property/parameter-level attribute for configuration value mapping.

Parameters:

[!NOTE] Default values are defined as PHP constructor parameter defaults, not in the attribute.

How It Works

TYPO3 stores extension configuration in $GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS'] as an associative array with string values. Those strings could be manually altered by the developers to other types. This extension automatically converts those types to proper PHP types using your configuration class schema.

πŸ§‘β€πŸ’» Real-world example with nested configuration

πŸ™ Credits

This project is built on the excellent CuyZ\Valinor library, which provides the core type mapping and validation functionality. Without Valinor's robust object mapping capabilities, this extension would not be possible.

Special thanks to:

🀝 Contributing

Contributions are very welcome! Please have a look at the Contribution Guide. It lays out the workflow of submitting new features or bugfixes.

πŸ”’ Security

Please refer to our security policy if you discover a security vulnerability in this extension. Be warned, though. I cannot afford bounty. This is private project.

⭐ License

This extension is licensed under the GPL-2.0-or-later license.

πŸ’¬ Support

For issues and feature requests, please use the GitHub issue tracker.


All versions of typo3-typed-extconf with dependencies

PHP Build Version
Package Version
Requires php Version ~8.2.0 || ~8.3.0 || ~8.4.0
ext-filter Version *
cuyz/valinor Version ^2.0
nette/php-generator Version ^4.1.6
symfony/console Version ^6.4 || ^7.0
typo3/cms-core Version ~12.4.37 || ~13.4.18
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package mteu/typo3-typed-extconf contains the following files

Loading the files please wait ....