我正在做一个需要一些SQL东西的函数,并且我不想为每个函数定义一个新的PDO对象,但有一个可以工作的函数在所有功能上。PHP在类中定义一个新的PDO对象(外部函数)
这是我走到这一步:
<?php
class UserSystem
{
public $mysqlDetails =
[
"host" => "127.0.0.1",
"user" => "",
"pass" => "",
"database" => "",
"table" => ""
];
public $con = new PDO
(
"mysql:host=" . $this->mysqlDetails['host'] .
";dbname=" . $this->mysqlDetails['database'] . ";",
$this->mysqlDetails['user'],
$this->mysqlDetails['pass']
);
我怎么能得到这个工作?目前,我得到这个错误: Parse error: syntax error, unexpected 'new' (T_NEW)
。有没有更好的方式来做到这一点,所以我可以使用的功能$con
变量,而无需创建一个新的。 我不想像我见过的那样将它注入到函数中。 IE这样的:
<?php
function someFunc ($pdo)
{
$pdo->query("SELECT * FROM `someTable`");
}
而不是在类内初始化PDO,你应该将它注入为依赖项。您可以使用[this](http://stackoverflow.com/a/11369679/727208)方法作为基础并加以改进。您当前的实施违反了[SOLID](http://en.wikipedia.org/wiki/SOLID_(面向对象设计))原则中的几个。 –