在PHP中制作不可继承的类方法

时间:2019-06-14 16:47:51

标签: php inheritance methods children

我有一个由许多其他类继承的基类(DB)。 问题是我不想继承DB类方法。 但是我希望这些对用户公开。

我给他们加上了'final'关键字,但这只是不让孩子们覆盖这些方法。

<?php

/*
 * DB class for MySQL server
*/
abstract class DB {
    protected static $return        = 'fetch_assoc';
    protected static $db            = null;
    protected static $table_prefix;
    protected static $return_type   = array(
        'fetch_lazy'    => 1,
        'fetch_assoc'   => 2,
        'fetch_num'     => 3,
        'fetch_both'    => 4,
        'fetch_obj'     => 5,
        'fetch_bound'   => 6,
        'fetch_column'  => 7,
        'fetch_class'   => 8,
        'fetch_into'    => 9,
        'fetch_func'    => 10,
        'fetch_named'   => 11
    );

    final static function connect (string $db_key) {
        ...
    }

    final static function beginTransaction () {
        ...
    }

    final static function rollback () {
        ...
    }

    final static function commit () {
        ...
    }

    final static function close () {
        ...
    }
}

所以。我希望孩子们可以看到DB变量,但是我希望我的方法只能由用户使用。 如何使我的方法因为我不想让孩子看到而成为不可继承的方法?

0 个答案:

没有答案