Pantheon\Terminus\Commands\Redis\EnableCommand::enable PHP Метод

enable() публичный Метод

Enable Redis caching on a site
public enable ( string $site_id )
$site_id string Name of the site to enable Redis on
    public function enable($site_id)
    {
        $site = $this->getSite($site_id);
        $site->getRedis()->enable();
        $this->log()->notice('Redis enabled. Converging bindings.');
        $workflow = $site->converge();
        // Wait for the workflow to complete.
        while (!$workflow->checkProgress()) {
            // @TODO: Add Symfony progress bar to indicate that something is happening.
        }
        $this->log()->notice($workflow->getMessage());
    }

Usage Example

 /**
  * Tests the redis:enable command
  */
 public function testEnable()
 {
     $workflow = $this->getMockBuilder(Workflow::class)->disableOriginalConstructor()->getMock();
     // workflow succeeded
     $workflow->expects($this->once())->method('checkProgress')->willReturn(true);
     $workflow->expects($this->once())->method('getMessage')->willReturn('successful workflow');
     $this->redis = $this->getMockBuilder(Redis::class)->disableOriginalConstructor()->getMock();
     $this->redis->expects($this->once())->method('enable');
     $this->site->expects($this->once())->method('converge')->willReturn($workflow);
     $this->site->method('getRedis')->willReturn($this->redis);
     $this->logger->expects($this->at(0))->method('log')->with($this->equalTo('notice'), $this->equalTo('Redis enabled. Converging bindings.'));
     $this->logger->expects($this->at(1))->method('log')->with($this->equalTo('notice'), $this->equalTo('successful workflow'));
     $command = new EnableCommand();
     $command->setSites($this->sites);
     $command->setLogger($this->logger);
     $command->enable('mysite');
 }
EnableCommand