EC-CUBEのクラスファイルの作り方

Pocket

EC-CUBEのクラスファイルを作る方法

EC-CUBE2.13のクラスファイルの基本構造

EC-CUBE2.13のクラスファイルの基本構造は以下のようになっています。

<?php

/**
 * 継承クラス読み込み
 */
require_once CLASS_EX_REALDIR . 'Class_Name_Ex.php';

/**
 * クラス定義
 */
class Class_Name extends Class_Name_Ex
{

    /**
     * init関数の実行
     *
     * @return void
     */
    public function init()
    {
        parent::init();
    }

    /**
     * process関数実行
     *
     * @return void
     */
    public function process()
    {
        $this->action();
        $this->sendResponse();
    }

    /**
     * アクションの設定
     * このクラスで実行することを記述
     */
    public function action()
    {
        
        // 関数の呼び出しなど
        $arrDataList->function_name();

    }

    /**
     * このクラスで実行する関数
     */
    public function function_name()
    {
        // 処理

        return $arrData;
    }
}

まず、継承するクラスファイルがある場合それを読み込みます。そのあとクラスの定義(クラス名とか入れる)を行い、中身を記述していきます。

中身の基本構造は上で記述したように、initi()process()action()の関数を設置し、そのあとに必要な処理を付け足していく感じ。

ページやブロックで読み込む場合には、それぞのPHPファイルで呼び出しておきます。クラスファイルを読み込んで各関数を実行すればOK。

<?php

/**
* クラスファイルの読み込み
*/
require_once realpath(dirname(__FILE__)) . '/../../require.php';
require_once CLASS_EX_REALDIR . 'Class_Name_Ex.php';

/**
* 関数の実行
*/
$objPage = new Class_Name_Ex();
$objPage->blocItems = $params['items'];
$objPage->init();
$objPage->process();

EC-CUBEの既存クラスに機能を追加する方法

EC-CUBEで既にあるクラスに機能を追加する場合は、class_ex.phpの方に記述すると良いようです。
eccubeのクラスファイルの作り方

EC-CUBEとSQLの使い方

クラスファイルを作るときに必ずと言っていいほど必要になるのがDBデータの取得。EC-CUBEで用意されているSC_Queryやヘルパークラスを使えば、SQL文を直接記述することなく欲しいデータを取得することができます。

とは言ってもSQLについての基本的な知識は必要になります。SQLの解説書やリファレンス本が1冊手元にあればちょっとした機能の追加などもスムーズに行えます。

とくにリファレンス本は長く使えるのでオススメです。