我在想出一个好的结构来构建我的类和对象时遇到了一些问题。在下面的代码中,我使用一个接口来定义我的类方法,但我还想将一个数据库连接传递给我的构造函数,以便类可以使用这个连接。当我在下面编码时将构造函数放置在我的类中和我的接口中的方法是否正确?
interface IDataItem
{
public function saveItem(Item $theItem);
}
class DataItem implements IDataItem
{
public function __construct(Database $database)
{
$this->database = $database;
}
public function saveItem(Item $item)
{
//save the item
}
}
$db = new Database(); //from a database class
$dataItem = new DataItem($db);
$dataItem->saveItem($anItem);