NerdsAndCompany\Schematic\Services\Plugins::export PHP Method

export() public method

public export ( array $data = [] ) : array
$data array
return array
    public function export(array $data = [])
    {
        Craft::log(Craft::t('Exporting Plugins'));
        $plugins = $this->getPluginService()->getPlugins(false);
        $pluginDefinitions = [];
        foreach ($plugins as $plugin) {
            $handle = preg_replace('/^Craft\\\\(.*?)Plugin$/', '$1', get_class($plugin));
            $pluginDefinitions[$handle] = $this->getPluginDefinition($plugin);
        }
        ksort($pluginDefinitions);
        return $pluginDefinitions;
    }

Usage Example

Beispiel #1
0
 /**
  * Test export functionality.
  *
  * @covers ::export
  */
 public function testExport()
 {
     $mockBasePlugin = $this->getMockBasePlugin();
     $mockBasePlugin->isInstalled = true;
     $mockBasePlugin->isEnabled = true;
     $data = $this->getPluginsData();
     $mockBasePlugin->expects($this->any())->method('getSettings')->willReturn((object) ['attributes' => $data[$this->pluginHandle]['settings']]);
     $mockPluginsService = $this->getMockPluginsService();
     $mockPluginsService->expects($this->any())->method('getPlugins')->willReturn([$this->pluginHandle => $mockBasePlugin]);
     $this->setComponent(Craft::app(), 'plugins', $mockPluginsService);
     $export = $this->schematicPluginsService->export();
     $this->assertEquals($data, $export);
 }