如何从变量中单行创建我的类对象:
$strClassName = 'CMSUsers';
$strModelName = $strClassName.'Model';
$strModelObj = new $strModelName();
上面的代码成功创建了我的CMSUsersModel类对象,但是当我尝试:
时$strClassName = 'CMSUsers';
$strModelObj = new $strClassName.'Model'();
它弹出错误....说:
Parse error: syntax error, unexpected '(' in
答案 0 :(得分:12)
创建对象时不能使用字符串连接。
如果您使用
class aa{}
$str = 'a';
$a = new $str.'a'; // Fatal error : class a not found
class aa{}
$str = 'a';
$a = new $str.$str; // Fatal error : class a not found
所以你应该使用
$strModelName = $strClassName.'Model';
$strModelObj = new $strModelName();
答案 1 :(得分:1)
我不确定,因为我没有及时更新类和PHP,但我认为$strModelName
是类定义,因此我认为你必须使用两行或写下这样的东西:
$strModelName = 'CMSUsers'.'Model'; $strModelObj = new $strModelName();