---
title: "Simple usage"
manual: "TYPO3 Explained"
version: "main"
permalink: "https://docs.typo3.org/permalink/t3coreapi:services-using-services-simple@main"
source: "ApiOverview/Services/UsingServices/SimpleUse.rst"
modified: "2026-09-16T13:05:25+00:00"
---

# Simple usage

The most basic use is when you want an object that handles a
given service type:

```php
use TYPO3\CMS\Core\Utility\GeneralUtility;

if (is_object($serviceObject = GeneralUtility::makeInstanceService('textLang'))) {
    $language = $serviceObject->guessLanguage($text);
}
```

In this example a service of type "textLang" is requested. If such a
service is indeed available an object will be returned. Then the
`guessLanguage()` \- which would be part of the "textLang" service
type public API - is called.

There's no certainty that an object will be returned, for a number of
reasons:

-   there might be no service of the requested type installed
-   the service deactivated itself during registration because it
    recognized it can't run on your platform
-   the service was deactivated by the system because of certain checks
-   during initialization the service checked that it can't run and
    deactivated itself

Note that when a service is requested, the instance created is stored
in a global registry. If that service is requested again during the
same code run, the stored instance will be returned instead of a new
one. More details in [Service API](https://docs.typo3.org/permalink/t3coreapi:services-developer-service-api@main).

If several services are available, the one with the highest priority
(or quality if priority are equals) will be used.
