ブログトップ
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)