Почему не работает класс в данном варианте?
Так то надо хотя бы вернуть экзепляр класса mysqli:private function connect()
    {
        $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);
        if (mysqli_connect_errno()) {
            echo 'eror connect database';
            return false;
        } else {
            return $mysqli;
        }
    }
А вообще не пишите велосипед, тем более костыльный, используйте уже готовенькое.
Не примите за неуважение, но вы движетесь не в ту сторону...
 - Для начала ознакомьтесь с рекомендациями по именованию классов: 3. Namespace and Class Names
 - Потом есть же ООП надстройка над mysqli - PDO? Для чего тратить свое драгоценное время на разработку велосипеда?
 - Если станет мало PDO - существует надстройка над ним - Doctrine 2 Object Relational Mapper (ORM).