0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

EC-CUBEAdvent Calendar 2015

Day 5

プラグインインストール/削除/更新/有効化/無効化時に呼ばれる関数に関して

Posted at

私がEC-CUBE3をどのように勉強したか?
というのを書いていたのですが、本日中に間に合わなさそうなので、
別の記事を投稿します。
(当初の記事は完成次第また投稿します。)

で、、、
メインの話です!

ECCUBE3プラグインのインストール/削除/更新/有効化/無効化時に
呼ばれる関数に関してメモしておきたいと思います。

結論から言うと、
プラグインのインストール等の際に呼ばれる関数には、「1対多」 などもあるようです。

■前提
まず、前提の話として、、
プラグインのインストールや更新などを行うとPluginManager.php内の関数install/disableなどが呼ばれます。
install等の関数内では特定の処理(主にDB操作、ファイル移動などの)

■本題
当初、アンインストール時はuninstallが呼ばれるのような形で、
操作に応じて呼ばれる関数が1対1だと思っていたのですが、
1対1 or 1対多のどちらのパターンもあるようです。
以下検証結果です。
プラグイン作成時、どのような動きがされるのか意識して作成したほうがよさそうです。
★の箇所が注目ポイントです。


■インストール実施
インストール
■(有効状態)削除 ←★無効化が呼ばれるみたい
無効化→アンインストール
■(無効状態)削除 ←★すでに無効状態でも、無効化が呼ばれるみたい
無効化→アンインストール
■無効→有効
有効化
■有効→無効
無効化
■(無効状態)更新 ←★更新は更新だけみたい
更新
※configのversionをあげて更新を実施
■(有効状態)更新)
更新
※configのversionをあげて更新を実施


ソースを自体を読もうと思ったのですが、
深みに入っていきそうだったので、今回は動作検証しかやってません。

みなさんプラグイン作成時は、呼ばれる対象の関数・順序にご注意ください。

12/6は、 @Yangsin さんです!

よろしくお願いします!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?