我在 TYPO3 中做了一个命令,它有参数和依赖注入(DI)。正如我在 symfony 中所理解的,DI 是用 __construct 方法制作的。但在那里我还必须说明我想传递给命令的参数。那么它是如何正确完成的呢?
资料来源:
版本: TYPO3 9.5.5,symfony 4.2.5
假设我想将一个参数传递给命令并从 TYPO3 注入 ObjectManager:
<?php
namespace Vendor\ExtensionName\Command;
use TYPO3\CMS\Extbase\Object\ObjectManagerInterface;
use Symfony\Component\Console\Command\Command;
class SomeCommand extends Command
{
/**
* Object Manager
*
* @var \TYPO3\CMS\Extbase\Object\ObjectManagerInterface
*/
protected $objectManager;
/**
* @param \TYPO3\CMS\Extbase\Object\ObjectManagerInterface $objectManager
*/
public function __construct(
string $cliParameter,
\TYPO3\CMS\Extbase\Object\ObjectManagerInterface $objectManager)
{
$this->cliParameter = $cliParameter;
$this->objectManager = $objectManager;
}
}
Run Code Online (Sandbox Code Playgroud)
然后我用
bin/typo3 …Run Code Online (Sandbox Code Playgroud) 我有一个像
a = np.array[ 4, 9, 3, 1, 6, 4, 7, 4, 2]
和一个相同大小的布尔数组(所以这是一个面具)
boo = np.array[ True, True, False, False, True, True, True, False, True]
(boo也可以从False第一个条目开始...)
现在,我想a用2个条件拆分为新数组:
Truein中的值booFalse之前结束False。[[4, 9], [6, 4, 7], [2]]我的想法是:
我知道我可以np.split作为基础。
在这种情况下,b = np.split(a, [2, 4, 7, 8]我将只从第二个b开始,而从第一个开始,因为我的第一个元素boo是True。
所以我的问题是:如何获得阵列[2, 4, 7, 8]?
(用python循环不是一个选择,因为它太慢了。)