2014-07-01 74 views
1

我試圖在TYPO3 6.2中創建一個Extbase的新擴展,並且在包含現有的類/框架模塊時失敗。TYPO3 6.2 ext_autoload與非命名空間類

我ext_autoload.php(OFC位於我的擴展目錄)

$extensionPath = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('couponprinter'); 

return array(
    'ZendPdf' => $extensionPath . '/Classes/Utility/Zend/Pdf.php', 
); 

我試圖通過

$pdf = $this->objectManager->create('ZendPdf'); 

,但林加載在我的控制器類剛開錯誤「無法分析類:ZendPdf可能沒有加載或沒有自動加載器?「

Zend類本身有很多包含我不能重構所有的包含,所以我需要自動加載器。這裏是一個簡短的片段:

/** Internally used classes */ 
require_once 'Zend/Pdf/Element.php'; 
require_once 'Zend/Pdf/Element/Array.php'; 
require_once 'Zend/Pdf/Element/String/Binary.php'; 
require_once 'Zend/Pdf/Element/Boolean.php'; 
require_once 'Zend/Pdf/Element/Dictionary.php'; 
require_once 'Zend/Pdf/Element/Name.php'; 
require_once 'Zend/Pdf/Element/Null.php'; 
require_once 'Zend/Pdf/Element/Numeric.php'; 
require_once 'Zend/Pdf/Element/String.php'; 

class Zend_Pdf{ 
// code of the class 
} 

由於TYPO3 6.2改變了一些舊的方法,我不能再包括了。有沒有人有一個想法如何我可以加載一個非命名空間類到extbase擴展?

回答

0

我想的東西填滿它像

<?php 
$extensionClassesPath = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('news') . 'Classes/'; 

$default = array(
     'tx_news_domain_model_dto_emconfiguration' => $extensionClassesPath . 'Domain/Model/Dto/EmConfiguration.php', 
     'tx_news_hooks_suggestreceiver' => $extensionClassesPath . 'Hooks/SuggestReceiver.php', 
     'tx_news_hooks_suggestreceivercall' => $extensionClassesPath . 'Hooks/SuggestReceiverCall.php', 
     'tx_news_utility_compatibility' => $extensionClassesPath . 'Utility/Compatibility.php', 
     'tx_news_utility_importjob' => $extensionClassesPath . 'Utility/ImportJob.php', 
     'tx_news_utility_emconfiguration' => $extensionClassesPath . 'Utility/EmConfiguration.php', 
     'tx_news_service_cacheservice' => $extensionClassesPath . 'Service/CacheService.php', 
); 
return $default; 
?> 

的文檔中找到它應該是

$extensionPath = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('couponprinter'); 

return array(
    'zendpdf' => $extensionPath . '/Classes/Utility/Zend/Pdf.php', 
); 

左數組(鍵)的一側必須是小寫的。