获取tt_content uid

I am developing an extension that allows admins to save stuff to the database.

And I want that each instance of the extension should have it's own Id in the database. Is there some way to get the tt_content uid (which I guess is the extension instance Id) in the extension php.

You fetch all tt_content's data in array:

$this->cObj->data

ie:

$uidOfCE = $this->cObj->data['uid'];

If you're using Extbase of course you need to get the content object first, ie:

$this->contentObj = $this->configurationManager->getContentObject();
debug($this->contentObj->data, "current tt_content's data");

$contentId is content id in typo3 backend

$content_rec = $GLOBALS["TYPO3_DB"]->exec_SELECTgetrows('header,bodytext','tt_content','uid='.$contentId);
$this->markerArray['###content###'] = $content_rec[0]['bodytext'];

Here is the way (Tested in TYPO3 9.5.4)

This will return whole HTML of content which you can render directly

$conf = [
    'tables' => 'tt_content',
    'source' => $uid, //uid of tt_content
    'dontCheckPid' => 1
];
$html = $GLOBALS['TSFE']->cObj->cObjGetSingle('RECORDS', $conf);

For the effects of update that answer and know an plugin uid, you could debug \TYPO3\CMS\Core\Utility\DebugUtility::debug($this->configurationManager->getContentObject()->data['uid'], 'parameter');

If is not complete the debug does not show the uid because configurationManager and contentObject use lazy loading.

This works and tested from TYPO3 8.7