我已经创建了一个用于编写sql查询的类,其中我使用了后期静态绑定概念,我试图在不同的类中调用其insert方法来插入值 这是sqlQuery类
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')" ;
}
}
这是我的第二个类文件,我在第一类使用insert方法,我正在尝试做什么,使用后期静态绑定从这个类中获取表名和列....请帮助我怎么做到这一点......这是我的第二类文件
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.....
答案 0 :(得分:1)
后期静态绑定是关于父子关系的。目前还不清楚你想要得到什么。你应该有一些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 ";
}
在库类中,你应该调用这个类的方法
$query1=new gallerySqlQuery();
$call=$query1->insert('active','10');
然后,您不需要在sqlQuery类中声明所有这些公共静态$ colum1等。