如何覆盖具有相同方法的4个以上特征方法?

时间:2019-09-05 09:19:59

标签: php-traits

我有3个具有3个相同方法的特征。我想分别将这3个方法用于3个特征。我在类(Cruds.php)中称呼这些特征,但显示错误。 这是我的错误:

  

致命错误:特性方法imagedelete尚未应用,因为   在Cruds.php中与Cruds的其他特征方法发生冲突

trait tbl_category {
        protected function dbinsert($connection, $values) {

        }
        protected function dbupdate($connection, $values) {
           $this->imagedelete($connection, 'abc', 'xyz');
        }
        protected function imagedelete($connection, $table, $id){
        }
    }
    trait tb_awards {
        protected function dbinsert($connection, $values) {

        }
        protected function dbupdate($connection, $values) {
            $image_delete=$this->imagedelete($connection, 'abc', 'xyz');
        }
        protected function imagedelete($connection, $table, $id){
        }
    }
    trait tb_xyz {
        protected function dbinsert($connection, $values) {

        }
        protected function dbupdate($connection, $values) {
            $image_delete=$this->imagedelete($connection, 'abc', 'xyz');
        }
        protected function imagedelete($connection, $table, $id){
        }
    }
    class Cruds extends dbConnect{
        use tbl_category, tb_awards,tb_xyz  {
            tbl_category::dbinsert as catin;
            tbl_category::dbupdate as catupdate;
            tb_awards::dbinsert as dbinaward;
            tb_awards::dbupdate as dbupaward;
        }

        public function eventfire($query_type, $table_name, $values=null) 
         {

                            $this->catin($this->dbcon(), $values);

                            $this->catupdate($this->dbcon(), $values);

                            $this->dbinsert($this->dbcon(), $values);

                            $this->dbupdate($this->dbcon(), $values);

         }
    }  

0 个答案:

没有答案
相关问题