将后期静态绑定变量与另一个 class 一起使用

using late staic binding variable with another class

我创建了一个 class 用于编写 sql 查询,我在其中使用了后期静态绑定概念,我试图在不同的 class 中调用它的插入方法来插入价值观 这里是sql查询class

  class sqlQuery
{
    public static $table=" table 1 ";
    public static $colum1="  colum1  ";
    public static $colum2=" colum2  ";
    public static $colum3=" colum3  ";
    public static $colum4=" colum4  ";
    public $value1=" value1 ";
    public $value2="  value2   ";



   public function insert( $value1,$value2)
    {
    echo "INSERT INTO" .static::$table ."(" . static::$colum1 .' , ' .static ::$colum2. ")  VALUES('$value1' , '$value2')" ;        
    }

}

这是我的第二个 class 文件,我在其中使用了第一个 class 中的插入方法,我想做的是,从中获取 table 名称和列 class 使用后期静态绑定....请帮助我该怎么做...这是我的第二个 class 文件

  class gallery extends logo 
{
    public $object;

    public static $colum1=" status ";
    public static $colum2=" order ";
    public static $colum3=" colum3  ";
    public static $colum4=" colum4  ";

   function __construct()
     {
        parent::__construct();
        //$this->object=new sqlQuery();


    }

    function insert()
     {
        $query=new sqlQuery();

        $query1=new sqlQuery();
        $call=$query1->insert('active','10'); 


     }

  }

 Help me thanks in advance.....

后期静态绑定是关于父子关系的。目前还不清楚你想要得到什么。你应该有一些 subclass 的 sqlQuery 来使用后期静态绑定。像

class gallerySqlQuery extends sqlQuery
{
    protected static $colum1=" status "; // better private or protected
    protected static $colum2=" order "; // you don't need it to be public
    protected static $colum3=" colum3  ";
    protected static $colum4=" colum4  ";
}

在图库中 class 你应该调用这个方法 class

$query1=new gallerySqlQuery();
$call=$query1->insert('active','10'); 

然后,您不需要在 sqlQuery class.

中声明所有这些 public static $colum1 等