
[英]Howto chain objects in PHP5: $this->foo->bar->baz()
[英]PHP: is $this->something->($this->foo)->bar legal?
这条线是合法的PHP吗?
$this->mongo->($this->db)->$collection_name->insert($document_name);
如果$ this-> db是一个带有要使用的db名称的常量。
谢谢
尝试使用花括号而不是括号:
$this->mongo->{$this->db}->$collection_name->insert($document_name);
或者将$this->db
分配给本地var并使用它代替:
$db_name = $this->db;
$this->mongo->$db_name->$collection_name->insert($document_name);
不,字符串(以及你的常量)应该用括号括起来,如下所示:
$this->mongo->{$this->db}->$collection_name->insert($document_name);
$connection->db->collection
只是简写:
$this->mongo->selectDB($this->db)->selectCollection($collection_name)->insert(...);
在你的情况下可能会更好。 但是,对于BoltClock的答案,+1也是如此,如果你想坚持使用$x->y->z
风格。
不,你不能 - >() - >你有mongo - >($ this-> db) - > $ coll ...也许你在寻找
$this->mongo($this->db)->$collection_name->insert($document_name);
你想要$this->mongo->selectDB($this->db)->$collection_name->insert($document_name)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.