2017-08-26 36 views
1

我正在編寫一個單元測試,並希望檢查某個typoscript文件中的數據是否滿足我的要求。如何將文本文件轉換爲數組? Typo3框架可用。如何解析Typoscript文件?

我的谷歌研究指出,使用類\TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser,但我並沒有發現使用的例子...

(使用TYPO3的7.6)

回答

0

這是工作(但可能有更好的方法來做到這一點):

<?php 
use TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser; 

class TyposcriptTest extends \TYPO3\CMS\Core\Tests\UnitTestCase { 
    public function setUp() { 
     parent::setUp(); 
     $this->objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager'); 
    } 

    protected function loadTSFile($filename) { 
     $content = file_get_contents($filename); 
     $parser = $this->objectManager->get(TypoScriptParser::class); 
     $parser->parse($content); 

     return $parser->setup; 
    } 

    public function testTS() { 
     $array = $this->loadTSFile('...'); 
     $this->assertTrue(isset($array['tx_extension.']['flexForm.']['andsoon.']]), 'Assertion failed. TS content: ' . var_export($array, true)); 
    } 
}