ブログトップ
SOY Shopプラグインの解説 インストール時の処理
2014年02月13日
前回に引き続き、商品オプションプラグインをベースに
SOY Shopのプラグインの解説をしていきます。
今回はプラグインのインストール時の処理について記載します。

プラグインのインストール、アンインストール時は、
soyshop.plugin.install.phpが読み込まれます。
soyshop.plugin.install.phpでは、
onInstall関数とonUnInstall関数が用意されており、
onInstall関数はプラグインがインストールされた時、
onUnInstall関数はプラグインがアンインストールされた時に読み込まれ、
商品オプションプラグインでは、
プラグインがインストールされた時にSQLを発行して、
soyshop_ordersテーブルのスキーマの変更を行います。
具体的に見ていくと
function onInstall(){
//初期化時のみテーブルを作成する
$sql = $this->getSQL();
$dao = new SOY2DAO();
try{
$dao->executeQuery($sql);
}catch(Exception $e){
//データベースが存在する場合はスルー
}
}
function getSQL(){
$sql = file_get_contents(dirname(__FILE__) . "/sql/init_" . SOYSHOP_DB_TYPE . ".sql");
return $sql;
}
(SOYSHOP_DB_TYPE定数はSOY Shopで定義しています。)
init_sqlite.sql
ALTER TABLE soyshop_orders ADD COLUMN attributes VARCHAR;
sqlディレクトリ以下にあるinit_{データベース}.sqlからSQL分を取得して、
SOY2DAOクラスを呼びだし、SQLを実行する
という処理が記載されています。
ちなみにonUnInstall関数、
function onUnInstall(){
//アンインストールしてもテーブルは残す
}
つまりは商品オプションをアンインストールした時には何も行いません。
SOY2DAOに関しましては下記をご覧ください。
SOY2フレームワークの解説 1回目 SOY2DAO(1/2)

