亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

“階級不存在。反思失敗。” 延遲加載和對象存儲

“階級不存在。反思失敗。” 延遲加載和對象存儲

PHP
慕娘9325324 2021-06-17 15:41:36
我正在將網站從 TYPO3 8 升級到 TYPO3 9所有代碼在 TYPO3 8 上運行良好?,F在我必須適應很多,因為它來自更早的 TYPO3(TCA,學說,...)并拋出一些錯誤。目前我有一些頁面的問題,我只收到這個錯誤(稍作修改):(1/2) #1278450972 TYPO3\CMS\Extbase\Reflection\Exception\UnknownClassException類 VendorName\VendorExtensionName\Domain\Model\TYPO3\CMS\Extbase\Persistence\ObjectStorage 不存在。反思失敗。我假設它是由以下代碼觸發的:<?phpnamespace VendorName\VendorExtensionName\Controller;use TYPO3\CMS\Extbase\Annotation\Inject;class AnsprechpartnerController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController {    /**     * ansprechpartnerRepository     *     * @Inject     * @var \VendorName\VendorExtensionName\Domain\Repository\AnsprechpartnerRepository     */    protected $ansprechpartnerRepository;    [...]    /**     * action showDetail     *     * @return void     */    public function showDetailAction() {        $pids = $this->settings['pids'];        $this->settings['ansprechpartner'] = explode(',', $this->settings['ansprechpartner']);        foreach ($this->settings['ansprechpartner'] as $uid) {            $person = $this->ansprechpartnerRepository->findByUid($uid);      [...]因為最后一行在調試堆棧中。擴展有8種相互關聯的記錄。我假設因此定義了關系lazy并使用了對象存儲。<?phpnamespace VendorName\VendorExtensionName\Domain\Model;use TYPO3\CMS\Extbase\Annotation\ORM\Lazy;/** * * @package vendor_extension_name * */class Ansprechpartner extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {[...]/** * Organisationseinheit * * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\VendorName\VendorExtensionName\Domain\Model\Organisation> * @Lazy */protected $organisationseinheit;/** * Dienstleistungen * * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\VendorName\VendorExtensionName\Domain\Model\AnsprechpartnerDienstleistung> * @Lazy */protected $dienstleistungen = NULL;[...]
查看完整描述

3 回答

?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

我們發現,這是由于 9.x 中的更改,現在 Annotations 和 TypeHints 中支持相對命名空間。

在 9.x 之前,Extbase 反射總是假設絕對命名空間。

如果有一個帶有這個簽名的方法,它在 9.x 之前工作(這是一個錯誤)并且從 9.x 開始不再工作:

public function setSomeStorage(TYPO3\CMS\Extbase\Persistence\ObjectStorage $storage) {

這必須是:

public function setSomeStorage(\TYPO3\CMS\Extbase\Persistence\ObjectStorage $storage) {


查看完整回答
反對 回復 2021-06-19
?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

如果您收到一條錯誤消息,并帶有這樣的前導括號:(1/3)那么在這種情況下搜索頁面上的所有三個錯誤是值得的。
在我的情況下,最后一條消息錯誤消息提到了語法錯誤,然后該類自然不會加載 - 但我可以糾正語法錯誤,然后一切正常。

查看完整回答
反對 回復 2021-06-19
  • 3 回答
  • 0 關注
  • 142 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號