我今天正在尝试优化我的 PHP 代码,并且我想为 PDO 连接设置一个单例工厂。先说明一下我现在的情况。
我有一个functions.php,里面有一堆函数,几乎在我拥有的每个页面的顶部
include 'functions.php';
就像许多人为他们的网站所做的那样。其中一个功能是我的 PDO 连接,如下所示:
function db_connect(){
$host = 'localhost';
$port = 3306;
$database = 'mybigdb';
$username = 'user11';
$password = 'password1';
$dsn = "mysql:host=$host;port=$port;dbname=$database";
$db = new PDO($dsn, $username, $password);
return $db;
}
在我的每个需要数据库连接的函数中,我都会有这样的东西:
function fetch_row($param1, $param2, $db=NULL){
if(is_null($db))$db=db_connect();
//Rest of code here
}
这样我就可以传递我的数据库对象,但添加它以防万一它不包括在内。上面的代码工作正常,我已经使用了一段时间。但是,阅读有关 Singleton Factory 类的信息并认为这可能会更好。
我读了这个关于单例工厂的答案,但我不太确定如何使用它。我是一个上课和努力学习的菜鸟。我有一些问题...
- 我会在他有 new ConnectionFactory(...) 的“...”中放什么??
- 我应该在哪里复制和粘贴课程代码?我会把它放在functions.php的顶部吗?
- 我会在每个函数的开头放什么?我还应该尝试通过参数传递数据库对象吗?
- 这种方法真的值得转换吗?或者是我目前的策略好吗。
非常感谢您的帮助:)