我在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
我该怎么做?
尝试
$this->{$table}->createScheme();
另请参阅范围解析操作符
T_PAAMAYIM_NEKUDOTAYIM是希伯来语,它指的是PHP的范围解析运算符("::")。如果您收到此消息,则意味着PHP看到一个类名,并希望您使用范围解析运算符访问它。
所以createScheme()不是一个静态的,而是一个普通的类方法。
使用
$this->{$table}->createScheme();