私はすでに、Command Class自体の保護された変数として保存することはできないことを知っています(私はそれを試しても動作しません)。その情報をデータベースに格納したり、ファイルに書き込んだりすることなく、コマンドの実行間にデータを格納する方法はありますか?Symfony2コマンドの実行間に値を格納することはできますか?
基本的には、2分ごとにコマンドを実行していますが、コマンドを実行するたびに変更されるフラグを設定します。
コマンドを実行するたびに保護された変数がsnc_redis.dashboard1
に初期化されているため、次のコードは機能しません。
protected $redisDb = 'snc_redis.dashboard1';
protected function execute(InputInterface $input, OutputInterface $output)
{
if ($this->redisDb == 'snc_redis.dashboard1') {
$this->redisDb = 'snc_redis.dashboard2';
}
else {
$this->redisDb = 'snc_redis.dashboard1';
}
}
多分、あなたはそれを何らかのメモリ内キャッシュに保存することができます。あなたはMemcacheについて聞いたことがありますか? –
ええ、以前はmemcacheを使用しましたが、直接は使用しませんでした。私は完全にどこかのredis dbに値を格納することができました。コマンド実行の間にプロパティを維持するためにsymfonyに組み込まれた方法があるかどうか疑問に思っていましたか? –
各PHPの実行は完全にクリアなコンテキストを持っていますので、ディスクまたはメモリに保存しない限り、実行ごとに生成された情報は消えません。 – Carlos