web-dev-qa-db-ja.com

クラスを使用して書いているプラ​​グインを別のプラグインで拡張するにはどうすればよいですか?

私は異なることをする一連のプラグインを持っています。私は共通の目標を達成するために私がそれぞれのカスタムプラグインで拡張することができるクラスでプラグインを書きたいです。私の "ソケット"プラグインでは私はこのようなものを持っています

class socketPlugin {
        function __construct($extendedClass){
    global $wpdb;
    $tablename = $wpdb->prefix."tableName";

    $classCount = $wpdb->get_var(
        "SELECT COUNT(id) FROM $tablename WHERE extendedClass='$extendedClass'"
    );

    if($classCount && $classCount > 0){
        $wpdb->insert(
            $tablename,
            array(
            'extendedClass' => $extendedClass
            )
        );
    }

}

それから私はこのようなことをしたいのです。

class myCustomClass extends socketPlugin {

}

そしてコンストラクタに変数を渡します。今、私が上記のことをするならば、私はPHP "死の白いスクリーン"を得る。

なぜ私は白い画面になっているのですか?どうやってソケットプラグインのクラスを適切に拡張できますか?

3
dcp3450

クラスが同じファイルにない場合は、それを子クラス(myCustomClass)に要求する必要があります。あなたはそれをやっていますか?

例:

//get the base class
if(!class_exists('MyParentClass')) {
    require_once plugin_dir_path( __FILE__ ) . '/_inc/MyParentClass.php';
}

/**
 * Class Definition
 */
class MyChildClass extends MyParentClass{

    // class definition

}
3
Welcher