Changes between Initial Version and Version 1 of カスタマイズと移行の手引(v2.0)


Ignore:
Timestamp:
2007/10/09 11:21:05 (15 years ago)
Author:
nanasess
Comment:

カスタマイズと移行の手引(v1.5) から移行

Legend:

Unmodified
Added
Removed
Modified
  • カスタマイズと移行の手引(v2.0)

    v1 v1  
     1''このページは書きかけです...'' 
     2= カスタマイズと移行の手引(v1.5) = 
     3 
     4EC-CUBE 1.5 では, 以前のバージョンより, 大幅なアーキテクトの変更を行いました.[[BR]] 
     5これは主に, アップグレード時のマージ作業緩和, 自動アップデート機能実装のためと, より柔軟なカスタマイズを可能にするためです. 
     6 
     7== 主な変更点 == 
     8 
     9 1. ディレクトリ構成 
     10    * ディレクトリ構成が大きく変わりました. 
     11      * [wiki:ディレクトリ構成(v1.5)] 
     12      * ''data/lib'', ''data/include'' 以下の関数群は, '''data/class/util''', '''data/class/helper''' 以下のクラスへ移動しました. 
     13        * '''data/class/util''' 以下のクラスは, スタティック参照するユーティリティ系のクラスです. 
     14        * '''data/class/helper''' 以下のクラスは, 内部で他クラスのインスタンスを生成するヘルパークラスです. 
     15      * 以前のバージョンにおいて, html 以下のファイルに存在していた LC_Page クラスは, '''data/class/pages/LC_Page.php''' の '''LC_Page''' クラスを基底クラスとし, LC_Page クラスを継承して使用するようになりました. 
     16        * html 以下のファイルは, LC_Page クラスの '''init()''', '''process()''', '''destroy()''' を順に実行するのみの内容となりました. 
     17          1. '''init()''' - 主にクラスの初期化をする関数 
     18          2. '''process()''' - ページのメインロジック 
     19          3. '''destroy()''' - デストラクタ. ページ処理の終了時に自動的に呼ばれる 
     20 2. 定数, マスタデータの DB化 
     21    * 以前のバージョンで, conf.php に存在していた, ほとんどの定数や, マスタデータ系のグローバル配列は, データベースの mtb_*** テーブルに移行しました. 
     22    * DB化に伴う DBアクセス低減のため, これらのデータは, '''data/conf/cache''' 以下にキャッシュされ, 実行時に使用されます. 
     23    * これらの定数, マスタデータは, 管理画面から修正可能です. 修正時に, '''data/conf/cache''' 以下のキャッシュが更新されます. 
     24 
     25== カスタマイズの手引 == 
     26EC-CUBE 1.5 からは, 以前のバージョンでの課題であった, バージョンアップ時におけるマージ作業が大幅に緩和されます.[[BR]] 
     27また, 「自動アップデート」機能により, 配信サーバーによる自動的なバグフィックスや, バージョンアップが可能となりました.[[BR]] 
     28是非, 以下の方法でカスタマイズを実施して下さい! 
     29 
     30 * '''data/class''' 以下に '''***_extends''' というディレクトリがあります. この中にカスタマイズ用のクラス群があります. 
     31    * 関数をカスタマイズする場合は, 必ず '''***_extends''' 以下のクラスで継承し, オーバーライドしてカスタマイズして下さい.  
     32      * EC-CUBE がバージョンアップした場合でも, これらのファイルは '''更新されない''' ため, 煩わしいマージ作業から開放されます. 
     33 1. html 以下のファイルを修正したい場合は, '''data/class/pages''' 以下を見て下さい. 
     34 2. html と同じ階層構造になっており, '''LC_Page_ディレクトリ名_ファイル名.php''' というようなクラスファイルがあり, この中にロジックが詰まっています. しかし, '''このクラスをカスタマイズしてはいけません.''' 
     35 3. '''data/class/page_extends''' に, 同様の階層構造があります. '''LC_Page_ディレクトリ名_ファイル名_Ex.php''' というクラスファイルがあり, これらは '''data/class/pages''' のクラス群を継承しています.  
     36 4. このクラスの, '''init()''', '''process()''', '''destroy()''' という関数をカスタマイズすることにより html 以下のファイルの動作を修正できます. 
     37   * index.php に対応するクラスのみ, '''LC_Page_ディレクトリ名_Ex.php''' というように, ファイル名及びクラス名が省略されています. 
     38   * ''EC-CUBE 1.5 では, 以前のバージョンのロジックを「ほぼそのまま」移植しているため, リファクタリングが不十分です. これは新規バージョンで徐々に改善していく予定です''