Php 用于删除repo的Extbase CommandController任务

Php 用于删除repo的Extbase CommandController任务,php,typo3,extbase,Php,Typo3,Extbase,我有我的CommandController,我正在使用它定义一个调度程序任务,该任务清除我的repo数据。出于某种原因,这不起作用。我也无法将()新元素添加到我的$itemRepository(在此commandcontroller内)。你知道我错过了什么吗 <?php namespace VENDX\Items\Command; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Extbase\Utility\Debug

我有我的CommandController,我正在使用它定义一个调度程序任务,该任务清除我的repo数据。出于某种原因,这不起作用。我也无法将()新元素添加到我的$itemRepository(在此commandcontroller内)。你知道我错过了什么吗

<?php

namespace VENDX\Items\Command;

use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Utility\DebuggerUtility;


class TestCommandController extends \TYPO3\CMS\Extbase\Mvc\Controller\CommandController
{
  /**
 * itemRepository
 *
 * @var \VENDX\Items\Domain\Repository\ItemRepository
 * @inject
 */
protected $itemRepository;

/**
* @var \TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager
* @inject
*/
protected $persistenceManager;

/**
*
* @return void
*/

public function repoDeleteCommand() {

    $this->$itemRepository->removeAll();

}


}

?>

好的,我解决了这个问题:

在我的第一次尝试中,我试图通过上述符号使用回购协议。但是我没有注意到repo中不需要“$”,因为名称空间已经用$this定义了

格式错误:

public function repoDeleteCommand() {

    $this->$itemRepository->removeAll();

}
因此,正确的格式是:

public function repoDeleteCommand() {

    $this->itemRepository->removeAll();

}

您是否在BE上下文中设置了持久性?通常,这可以通过
module.tx\u yourext
轻松完成。它看起来不同:我在我的[u ext/Configuration/TypoScript/setup.txt中添加了
module.tx\u items.persistence
,然后在我的根目录中包含了这个静态模板,但它仍然不起作用。如果我试图删除all()或只是添加($item),我会不断得到:
致命错误:无法访问第94行/var/www/html/typo3conf/ext/items/Classes/Command/ImportCommandController.php中的空属性