Changes between Version 2 and Version 3 of Ticket #2181


Ignore:
Timestamp:
2013/03/10 11:00:14 (11 years ago)
Author:
adachi
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #2181 – Description

    v2 v3  
    77 
    88インストール用ユーティリティを用意し、プラグイン作成者に使ってもらう 
     9 
    910※テーブル作成、ファイルコピー、ブロック追加など 
    1011 
    11 利用イメージ 
     12仕様 
    1213{{{ 
    13 function install($arrPlugin) { 
    14   $objInstaller->sql("create table xxx") 
    15   $objInstaller->copyfiles("media/product.css", "media/product.css"); 
    16   $objInstaller->sql("alter table add column xxx int"); 
    17   ※このタイミングでは、SQLやファイルコピーは実行されない。 
    18   ※実行は上のレイヤで制御 
    19 } 
    20 }}} 
     14* フロー 
    2115 
     16LC_Page_Admin_OwnersStore::installPlugin 
     17  - トランザクション開始 (SC_QUery::begin()) 
     18  - プラグインアーカイブの一時ディレクトリを初期化 
     19  - 必須拡張モジュールのチェック 
     20  - アーカイブを一時ディレクトリに解凍 
     21  - plugin_info.phpを読み込み 
     22  - plugin_info.phpの内容チェック 
     23  - プラグインコードから、既にプラグインがインストールされているかチェック 
     24  - dtb_pluginへレコードを登録 
     25  - 一時ディレクトリから, プラグイン保存ディレクトリへコピー 
     26  - プラグインメインクラスをロード 
     27  - プラグインHTMLディレクトリを作成 
     28  - プラグインインストーラを生成 
     29  - プラグインのinstallメソッドを実行 PLUGIN::install($arrPlugin, $objInstaller); 
     30  - ★インストーラがインストール処理を実行 (SC_Plugin_Installer::execPlugin()) 
     31  - トランザクション終了(SC_Query::commit()) 
     32  - 一時ディレクトリ削除 
    2233 
    23 使い方 
    24 {{{ 
     34* インストール処理のフロー 
     35 
     36* インストーラで利用できるメソッド 
     37 
     38- sql($sql, $params) 
     39  SQLを実行 
     40- sqlInsert($table, $entity); 
     41  INSERT 
     42- sqlUpdate($table, $entity, $where, $params) 
     43  UPDATE 
     44- sqlAterTableAddColumn($table_name, $col_name, $col_type) 
     45  カラム追加 
     46- sqlAterTableDropColumn($table_name, $col_name) 
     47  カラム削除 
     48- copyFile($src, $dist) 
     49  html/plugin_code以下にコピー 
     50- copyDirectory($src, $dist) 
     51  html/plugin_code以下にコピー 
     52 
     53* プラグイン側の利用イメージ 
    2554install($arrPlugin, $objPluginInstaller) { 
    2655    // カラム追加 
     
    5079    html以下はアンインストール時にまるっと削除される 
    5180} 
     81   
    5282 
    5383}}}