PHPackages                             3ev/typo3-utils - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. 3ev/typo3-utils

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

3ev/typo3-utils
===============

TYPO3 utility belt

v1.2.1(10y ago)046713MITPHPPHP &gt;=5.5.0

Since Aug 26Pushed 7y ago8 watchersCompare

[ Source](https://github.com/3ev/typo3-utils)[ Packagist](https://packagist.org/packages/3ev/typo3-utils)[ Docs](http://github.com/3ev/typo3-utils)[ RSS](/packages/3ev-typo3-utils/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (1)Versions (6)Used By (3)

\#TYPO3 Utils

[![Latest Stable Version](https://camo.githubusercontent.com/d2753f1500af988bfe40a6bcde629e15d364d4b6f5659dc10203f5a2cd87ae13/68747470733a2f2f706f7365722e707567782e6f72672f3365762f7479706f332d7574696c732f76657273696f6e)](https://packagist.org/packages/3ev/typo3-utils) [![License](https://camo.githubusercontent.com/ad5925c3120a0abb6b86da780734759c074ad6f227e463efef53644c09f7cb5f/68747470733a2f2f706f7365722e707567782e6f72672f3365762f7479706f332d7574696c732f6c6963656e7365)](https://packagist.org/packages/3ev/typo3-utils)

> Utility classes to provide simpler APIs to common TYPO3 tasks.

\##Installation

You can include this library in any of your TYPO3 extensions via Composer:

```
$ composer require "3ev/typo3-utils"

```

\##Usage

TYPO3 Utils provides the following utility classes to help ease building TYPO3 extensions:

\####Tev\\Typo3Utils\\Domain\\Model

This namespace provides a few useful traits for re-usable model functionality, such as adding getters and setters for `crdate`, `tstamp` and `hidden`.

\####Tev\\Typo3Utils\\Generators

This namespace contains 'generators', which are wrappers around TYPO3's [DataHandler](https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/Typo3CoreEngine/Database/Index.html) API.

Generators can be used to create page, content and template and records from the backend or CLI scripts (a `BE_USER` is required).

\####Tev\\Typo3Utils\\Hook\\EntityHook &amp; Tev\\Typo3Utils\\Hook\\EntityRegistrar

The `EntityHook` and `EntityRegistrar` classes make it easy to listen to backend TYPO3 lifecycle events on database entities.

Just extend `EntityHook`, and specify the table you want to listen to in the parent constructor. You'll then be able to implement `creating`, `created`, `updating`, `updated`, `saving`, `saved` and `deleted` methods as you wish, which will be called when the relevant action happens from the TYPO3 backend.

You can register your hook class by simply adding:

```
\Tev\Typo3Utils\Hook\EntityRegistrar::register('Path\\To\\Hook\\Class');
```

to your extension's `ext_tables.php` file. This saves you writing a complex TYPO3 hook definition.

\####Tev\\Typo3Utils\\Log\\Writer\\FileWriter

The [default TYPO3 log file writer](https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/Logging/Writers/Index.html#filewriter) doesn't let you write to log files outside of the publicly served directory.

This can be insecure, so this simple writer class allows you to write log files anywhere on the filesystem.

\####Tev\\Typo3Utils\\Plugin\\WizIcon

This class makes it trivial to register wizicons for plugins in your extension.

Just extend the base wizicon class and configure the icon details in the parent constructor:

```
namespace My\Extension;

class MyIcon extends \Tev\Typo3Utils\Plugin\WizIcon
{
    public function __construct()
    {
        parent::__construct(
            // Your extension's name, with underscores

            'my_ext',

            // The plugin name(s) you'd like the wizicon to be used for

            ['myplugin', 'myotherplugin],

            // Optional. The icon file name

            'ext_icon.png'

            // Optional. The language file you'd like to use

            'locallang.xlf'
        );
    }
}
```

then, just register the icon class as normal in `ext_tables.php`:

```
if (TYPO3_MODE === 'BE') {
    $TBE_MODULES_EXT['xMOD_db_new_content_el']['addElClasses']['My\\Extension\\WizIcon'] =
        \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Classes/WizIcon.php';
}
```

\####Tev\\Typo3Utils\\Services\\GeocodingService

This class provides an Extbase-compatible wrapper around the [Geocoder PHP](http://geocoder-php.org/Geocoder)library.

\####Tev\\Typo3Utils\\TCA\\Label

This utility class provides a TCA userfunc to allow you to set labels consisting of multiple fields, with a custom separator.

For example:

```
'crtl' => [
    'label_userFunc' => 'Tev\\Typo3Utils\\TCA\\Label->run',
    'label_userFunc_options' => [
        // Required, single field name of array of field names

        'fields' => [
            'first_name',
            'last_name'
        ],

        // Optional, defaults to ' '

        'glue' => ', '
     ]
]
```

\####Tev\\Typo3Utils\\Utility\\Dump

This class provides a few utilities for dumping out data. Currently, the only available method allows you to dump a an Extbase query object so that you can examine the query being generated and run.

\####Tev\\Typo3Utils\\Utility\\ExtConf

This class provides a simple API for accessing extconf variables:

```
$conf = new \Tev\Typo3Utils\Utility\ExtConf('my_ext');
$conf->get('config_key');
```

\####Tev\\Typo3Utils\\Utility\\Page

This class provides a few methods for retrieving data on TYPO3 pages.

See [the class](https://github.com/3ev/typo3-utils/blob/master/src/Utility/Page.php) for more information.

\####Tev\\Typo3Utils\\Utility\\Tsfe

This class provides a simple API for initialising the `TSFE` on the CLI or TYPO3 backend. You just need to set the root page ID an optionally provide a host name:

```
$tsfe = \Tev\Typo3Utils\Utility\Tsfe;
$tsfe->create(1 /*, www.hostname.com */);
```

\##License

MIT © 3ev

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 96.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~73 days

Total

5

Last Release

3624d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/380e5682a659dee3eb84812db8fcb0433bcf70c460b2eeafd97d79b9f1646f03?d=identicon)[3ev](/maintainers/3ev)

---

Top Contributors

[![BenConstable](https://avatars.githubusercontent.com/u/817029?v=4)](https://github.com/BenConstable "BenConstable (27 commits)")[![danfrost](https://avatars.githubusercontent.com/u/35818?v=4)](https://github.com/danfrost "danfrost (1 commits)")

---

Tags

utilitytypo3

### Embed Badge

![Health badge](/badges/3ev-typo3-utils/health.svg)

```
[![Health](https://phpackages.com/badges/3ev-typo3-utils/health.svg)](https://phpackages.com/packages/3ev-typo3-utils)
```

###  Alternatives

[nette/utils

🛠 Nette Utils: lightweight utilities for string &amp; array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.

2.1k394.3M1.5k](/packages/nette-utils)[danielstjules/stringy

A string manipulation library with multibyte support

2.4k26.0M191](/packages/danielstjules-stringy)[voku/arrayy

Array manipulation library for PHP, called Arrayy!

4875.5M16](/packages/voku-arrayy)[mage2tv/magento-cache-clean

This package has been migrated to mage-os/magento-cache-clean. Please switch over at your convenience.

5432.1M3](/packages/mage2tv-magento-cache-clean)[georgringer/news

News system - Versatile news system based on Extbase &amp; Fluid and using the latest technologies provided by TYPO3 CMS.

2815.1M90](/packages/georgringer-news)[vaimo/composer-patches

Applies a patch from a local or remote file to any package that is part of a given composer project. Patches can be defined both on project and on package level. Optional support for patch versioning, sequencing, custom patch applier configuration and patch command for testing/troubleshooting added patches.

2994.3M16](/packages/vaimo-composer-patches)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
