我只是在创建一个简单的独立股票更新程序并将我的手转向 OOP 而不仅仅是基于函数的。我创建了一个简单的类,它需要我的数据库连接,但想知道包含和使用数据库连接的最佳实践。第一个应用是将使用数据库的类。第二个是“dbconnector.php”的内容。
class stockUpdater {
var $data = '';
function __construct() {
include('dbconnector.php');
print_r($mysqli);
//check and get file
$fp = fopen('stockfiles/stockfile.csv', 'r');
if($fp){
while(! feof($fp)) {
$prods[] = fgetcsv($fp);
}
}
if(empty($prods)){
$this->logError(time(),'No data found in file');
}
}
//error logging function
private function logError($time, $message){
}
}
$updateStock = new stockUpdater();
我知道我在这里所做的工作,但不知道是否有比在每个类中包含数据库连接脚本更好的方法,因为这可以在只需要 1 个时创建多个数据库连接。
$mysqli = new mysqli(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
/*
* This is the "official" OO way to do it,
* BUT $connect_error was broken until PHP 5.2.9 and 5.3.0.
*/
if ($mysqli->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}
/*
* Use this instead of $connect_error if you need to ensure
* compatibility with PHP versions prior to 5.2.9 and 5.3.0.
*/
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}