/** * Loads the plugin bootstrap file for a plugin. * * @param Plugin $plugin * @return void */ protected function _loadPluginBootstrap(Plugin $plugin) { $pluginDirName = $plugin->getDirectoryName(); $this->_broker->setCurrentPluginDirName($pluginDirName); // Bootstrap plugin.php if it exists. $pluginFilePath = $this->getPluginFilePath($pluginDirName); if (file_exists($pluginFilePath)) { require $pluginFilePath; // Otherwise bootstrap the plugin class. } else { require_once $this->getPluginClassFilePath($pluginDirName); $pluginClassName = $this->getPluginClassName($pluginDirName); $pluginClass = new $pluginClassName(); $pluginClass->setUp(); } // Reset the current plugin. $this->_broker->setCurrentPluginDirName(null); }