我想写一个TYPO3中的调试代码段。
这是我的php.json文件中的代码段:
"TYPO3 Extbase DebuggerUtility": {
"prefix": "ee",
"body": [
"\\TYPO3\\CMS\\Extbase\\Utility\\DebuggerUtility::var_dump($1,'$1');",
"$0"
],
"description": "TYPO3 Extbase DebuggerUtility"
},
如果我想调试类似的东西: $ this-> settings ['key'] ,我得到以下代码:
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($this->settings['key'],'$this->settings['key']');
但是它应该看起来像这样
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($this->settings['key'],'$this->settings[\'key\']');
该代码段的第二部分带有转义符'。
编辑
谢谢,但我认为您没有理解这个问题。
我不想转义静态字符。我想使用代码段,当我输入第一个$ 1内容时,它应该是$ this-> settings ['someKey'] ,但是第二个$ 1 (几乎相同)应该自动转义我写的字符,是我不手工做。
因此,如果我输入“
第一个$ 1:'
第二个$ 1:\'
我的调试看起来像这样
调试:
$ this-> settings ['someKey']
contentOfsomeKey
我无法在“调试标题”中转义'符号,它会中断字符串,因为'包装了调试标题。
换句话说:我想转义第二个$ 1变量的内容,而不是变量或代码段中的'-wrap'。
我希望我能澄清我的问题。
答案 0 :(得分:0)
如果要在输出中使用转义字符\
,则需要插入转义的转义字符:\\
,这将导致单个转义字符。
如果以下字符需要额外的转义,则可能需要一个附加的转义字符:引号\'
= \\
+ \'
= \\\'
`