EC-CUBE4 APIドキュメント

PluginService

Table of Contents

VENDOR_NAME 'ec-cube'
ECCUBE_LIBRARY Plugin type/library of ec-cube 1
OTHER_LIBRARY Plugin type/library of other (except ec-cube) 2
$eccubeConfig EccubeConfig
$entityManager EntityManager
$pluginRepository PluginRepository
$entityProxyService EntityProxyService
$schemaService SchemaService
$composerService ComposerServiceInterface
$projectRoot string
$environment string
$container ContainerInterface
$cacheUtil CacheUtil
$pluginApiService PluginApiService
$systemService SystemService
__construct() PluginService constructor. mixed
install() ファイル指定してのプラグインインストール bool
installWithCode() mixed
preInstall() mixed
postInstall() mixed
generateProxyAndUpdateSchema() プラグインの Proxy ファイルを生成して UpdateSchema を実行する. mixed
generateProxyAndCallback() プラグインの Proxy ファイルを生成してコールバック関数を実行する. mixed
createTempDir() mixed
deleteDirs() mixed
unpackPluginArchive() mixed
checkPluginArchiveContent() mixed
readConfig() array
checkSymbolName() mixed
deleteFile() mixed
checkSamePlugin() mixed
calcPluginDir() mixed
createPluginDir() mixed
registerPlugin() Plugin
callPluginManagerMethod() mixed
uninstall() bool
unregisterPlugin() mixed
disable() mixed
regenerateProxy() Proxyを再生成します. array
enable() mixed
update() Update plugin bool
updatePlugin() Update plugin mixed
getPluginRequired() Get array require by plugin Todo: need define dependency plugin mechanism array|mixed
findDependentPluginNeedDisable() Find the dependent plugins that need to be disabled array
findDependentPlugin() Find the other plugin that has requires on it. array
getDependentByCode() Get dependent plugin by code It's base on composer.json Return the plugin code and version in the format of the composer array
parseToComposerCommand() Format array dependent plugin to string It is used for commands. string
copyAssets() リソースファイル等をコピー コピー元となるファイルの置き場所は固定であり、 [プラグインコード]/Resource/assets 配下に置かれているファイルが所定の位置へコピーされる mixed
removeAssets() コピーしたリソースファイル等を削除 mixed
checkPluginExist() Plugin is exist check bool|int|string
isEnable() bool

Constants

ECCUBE_LIBRARY

Plugin type/library of ec-cube

public mixed $ECCUBE_LIBRARY = 1

OTHER_LIBRARY

Plugin type/library of other (except ec-cube)

public mixed $OTHER_LIBRARY = 2

Properties

Methods

__construct()

PluginService constructor.

public __construct( $entityManager : EntityManagerInterface , $pluginRepository : PluginRepository , $entityProxyService : EntityProxyService , $schemaService : SchemaService , $eccubeConfig : EccubeConfig , $container : ContainerInterface , $cacheUtil : CacheUtil , $composerService : ComposerServiceInterface , $pluginApiService : PluginApiService , $systemService : SystemService ) : mixed
Parameters
$entityManager : EntityManagerInterface
$pluginRepository : PluginRepository
$entityProxyService : EntityProxyService
$schemaService : SchemaService
$eccubeConfig : EccubeConfig
$container : ContainerInterface
$cacheUtil : CacheUtil
$composerService : ComposerServiceInterface
$pluginApiService : PluginApiService
$systemService : SystemService
Return values
mixed

install()

ファイル指定してのプラグインインストール

public install( $path : string , $source : int ) : bool
Parameters
$path : string

path to tar.gz/zip plugin file

$source : int
Tags
throws
PluginException
throws
Exception
Return values
bool

installWithCode()

public installWithCode( $code : ) : mixed
Parameters
$code :

sプラグインコード

Tags
throws
PluginException
Return values
mixed

preInstall()

public preInstall( ) : mixed
Return values
mixed

postInstall()

public postInstall( $config : mixed , $source : mixed ) : mixed
Parameters
$config : mixed
$source : mixed
Return values
mixed

generateProxyAndUpdateSchema()

プラグインの Proxy ファイルを生成して UpdateSchema を実行する.

public generateProxyAndUpdateSchema( $plugin : Plugin , $config : array [, $uninstall : bool = false ] [, $saveMode : bool = true ] ) : mixed
Parameters
$plugin : Plugin

プラグインオブジェクト

$config : array

プラグインの composer.json の配列

$uninstall : bool = false

アンインストールする場合は true

$saveMode : bool = true

SQL を即時実行する場合は true

Return values
mixed

generateProxyAndCallback()

プラグインの Proxy ファイルを生成してコールバック関数を実行する.

public generateProxyAndCallback( $callback : callable , $plugin : Plugin , $config : array [, $uninstall : bool = false ] [, $tmpProxyOutputDir : string = null ] ) : mixed

コールバック関数は主に SchemaTool が利用されます. Proxy ファイルを出力する一時ディレクトリを指定しない場合は内部で生成し, コールバック関数実行後に削除されます.

Parameters
$callback : callable

Proxy ファイルを生成した後に実行されるコールバック関数

$plugin : Plugin

プラグインオブジェクト

$config : array

プラグインの composer.json の配列

$uninstall : bool = false

アンインストールする場合は true

$tmpProxyOutputDir : string = null

Proxy ファイルを出力する一時ディレクトリ

Return values
mixed

createTempDir()

public createTempDir( ) : mixed
Return values
mixed

deleteDirs()

public deleteDirs( $arr : mixed ) : mixed
Parameters
$arr : mixed
Return values
mixed

unpackPluginArchive()

public unpackPluginArchive( $archive : string , $dir : string ) : mixed
Parameters
$archive : string
$dir : string
Tags
throws
PluginException
Return values
mixed

checkPluginArchiveContent()

public checkPluginArchiveContent( $dir : [, $config_cache : array = [] ] ) : mixed
Parameters
$dir :
$config_cache : array = []
Tags
throws
PluginException
Return values
mixed

checkSymbolName()

public checkSymbolName( $string : mixed ) : mixed
Parameters
$string : mixed
Return values
mixed

deleteFile()

public deleteFile( $path : string ) : mixed
Parameters
$path : string
Return values
mixed

checkSamePlugin()

public checkSamePlugin( $code : mixed ) : mixed
Parameters
$code : mixed
Return values
mixed

calcPluginDir()

public calcPluginDir( $code : mixed ) : mixed
Parameters
$code : mixed
Return values
mixed

createPluginDir()

public createPluginDir( $d : string ) : mixed
Parameters
$d : string
Tags
throws
PluginException
Return values
mixed

callPluginManagerMethod()

public callPluginManagerMethod( $meta : , $method : string ) : mixed
Parameters
$meta :
$method : string
Return values
mixed

uninstall()

public uninstall( $plugin : Plugin [, $force : bool = true ] ) : bool
Parameters
$plugin : Plugin
$force : bool = true
Tags
throws
Exception
Return values
bool

regenerateProxy()

Proxyを再生成します.

private regenerateProxy( $plugin : Plugin , $temporary : bool [, $outputDir : string|null = null ] [, $uninstall : bool = false ] ) : array
Parameters
$plugin : Plugin

プラグイン

$temporary : bool

プラグインが無効状態でも一時的に生成するかどうか

$outputDir : string|null = null

出力先

$uninstall : bool = false

プラグイン削除の場合はtrue

Return values
array

生成されたファイルのパス

enable()

public enable( $plugin : Plugin [, $enable : mixed = true ] ) : mixed
Parameters
$plugin : Plugin
$enable : mixed = true
Return values
mixed

updatePlugin()

Update plugin

public updatePlugin( $plugin : Plugin , $meta : array ) : mixed
Parameters
$plugin : Plugin
$meta : array

Config data

Tags
throws
Exception
Return values
mixed

getPluginRequired()

Get array require by plugin Todo: need define dependency plugin mechanism

public getPluginRequired( $plugin : array|Plugin ) : array|mixed
Parameters
$plugin : array|Plugin

format as plugin from api

Tags
throws
PluginException
Return values
array|mixed

findDependentPluginNeedDisable()

Find the dependent plugins that need to be disabled

public findDependentPluginNeedDisable( $pluginCode : string ) : array
Parameters
$pluginCode : string
Return values
array

plugin code

findDependentPlugin()

Find the other plugin that has requires on it.

public findDependentPlugin( $pluginCode : string [, $enableOnly : bool = false ] ) : array

Check in both dtb_plugin table and <PluginCode>/composer.json

Parameters
$pluginCode : string
$enableOnly : bool = false
Return values
array

plugin code

getDependentByCode()

Get dependent plugin by code It's base on composer.json Return the plugin code and version in the format of the composer

public getDependentByCode( $pluginCode : string [, $libraryType : int|null = null ] ) : array
Parameters
$pluginCode : string
$libraryType : int|null = null

self::ECCUBE_LIBRARY only return library/plugin of eccube self::OTHER_LIBRARY only return library/plugin of 3rd part ex: symfony, composer, ... default : return all library/plugin

Return values
array

format [packageName1 => version1, packageName2 => version2]

parseToComposerCommand()

Format array dependent plugin to string It is used for commands.

public parseToComposerCommand( $packages : array [, $getVersion : bool = true ] ) : string
Parameters
$packages : array

format [packageName1 => version1, packageName2 => version2]

$getVersion : bool = true
Return values
string

format if version=true: "packageName1:version1 packageName2:version2", if version=false: "packageName1 packageName2"

copyAssets()

リソースファイル等をコピー コピー元となるファイルの置き場所は固定であり、 [プラグインコード]/Resource/assets 配下に置かれているファイルが所定の位置へコピーされる

public copyAssets( $pluginCode : ) : mixed
Parameters
$pluginCode :
Return values
mixed

removeAssets()

コピーしたリソースファイル等を削除

public removeAssets( $pluginCode : string ) : mixed
Parameters
$pluginCode : string
Return values
mixed

checkPluginExist()

Plugin is exist check

public checkPluginExist( $plugins : array , $pluginCode : string ) : bool|int|string
Parameters
$plugins : array

get from api

$pluginCode : string
Return values
bool|int|string

isEnable()

private isEnable( $code : string ) : bool
Parameters
$code : string
Return values
bool

Search results