我目前正在尝试为自己构建一些不错的类,以更快地构建我的页面。
我目前有这个设置,
// page class
class Page extends DBC {
// creates a page
public function create($data = false) {
echo 'SOME BASIC HTML TO SETUP PAGE';
// pass the database connection var to content function
content($this -> $dbc, $data);
echo 'SOME BASIC HTML TO SETUP PAGE';
}
}
// dbc class
class DBC {
public $dbc;
public function __construct() {
// sets the database connection
}
}
对于我创建的每个新页面,我只是在将我的类添加到脚本中后执行此操作。
// content function
function content($dbc) {
// some content
// am able to use dbc
}
// new page object
$page = new Page();
// am able to use dbc var fine here too
$page -> dbc -> // execute a query
// create page
$page -> create();
但我现在面临的问题是如何最好地在我的 DBC
中创建函数类使我的查询构建更快。我尝试将以下函数添加到类 DBC
,
public static function query($q, $data, $options = array()) {
// execute prepared query
$q = $this -> dbc -> prepare($q);
return $q -> execute($data);
}
但我不能在我的 content
中使用它函数仅将数据库连接传递给它,并且 query
DBC
内的函数类使用对象上下文中的连接。
解释我的问题后我的问题如下;
最好在我的 DBC
中创建为我执行查询的函数吗?类static
并只传递现有的连接?
或者
全传DBC
会不会更好反对我的content
Page
内的函数如下所示的类,
content(new DBC(), $data);
这样我就可以在对象上下文中使用函数。 Page
类仍需要通过 DBC
进行扩展类,因为我需要使用 dbc
content
之外的 var功能也。但这不会产生 DBC
的 2 个实例吗?当它扩展为 Page
时为一类和一个传递到 content
时功能?
感谢您花时间阅读此问题并给出任何答案!
最佳答案
根据我的理解,我认为一个例子是最好的,这样你就可以看一下并根据你的要求进行改进。
检查我在 github 上写的这个类(class)
看看这个 gist关于使用
所以我想说的是,看看它并提出适合您需求的解决方案,或者您可以直接使用它......当然它是免费的
关于php - 为我的整个网站创建一个数据库层类,需要一些关于 PHP 的建议吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11040532/