私は単純なスタンドアロンの株式アップデーターを作成し、機能ベースではなく OOP に手を向けています。データベース接続を必要とする単純なクラスを作成しましたが、データベース接続を含めて使用するためのベスト プラクティスを知りたいです。まず、データベースを使用するクラスです。2 つ目は「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();
私はここで何をしているのか知っていますが、データベース接続スクリプトをすべてのクラスに含めるよりも良い方法があるかどうかはわかりません。
$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());
}