我在codeigniter中开发。我的程序会自动创建它的数据库,所以我为每个表创建一个createScheme()方法。我试着像这样调用所有这些方法:
public function createDB()
{
$tables = array('user', 'manufacturer', 'device');
foreach ($tables as $i => $table) {
$this->load->library($table);
$this->{$table}::createScheme();
}
}
这会产生错误:
解析错误:语法错误,意外的T_PAAMAYIM_NEKUDOTAYIM /var/www/clients/client0/web79/web/application/controllers/welcome.php 在第22行
我该怎么做?
答案 0 :(得分:2)
答案 1 :(得分:2)
T_PAAMAYIM_NEKUDOTAYIM是希伯来语,它指的是PHP的范围解析运算符(“::”)。如果您收到此消息,则表示PHP会看到一个类名,并希望您使用范围解析运算符访问它。
因此createScheme()不是静态的,而是普通的类方法。
使用
$this->{$table}->createScheme();