つまり、基本的に2つのファイルがあります。最終的にはさらに多くの機能がありますが、DB
PDOデータベース操作を使用するというクラスを作成し、このクラスを拡張して、データベースを操作するためのすべての関数を作成します。したがってDB
、クラスはクラスに拡張されdbADD
、さまざまなデータベーステーブルのすべての追加関数が含まれます。
これは呼ばれconfig.php
ます:
<?php
DEFINE ('DBHOST', 'localhost');
DEFINE ('DBUSER', 'REMOVED');
DEFINE ('DBPSW', 'REMOVED');
DEFINE ('DBNAME', 'REMOVED');
class DB {
public $db;
private static $instance;
public function __constructor(){
$config ['db'] = array(
'host' => DBHOST,
'username' => DBUSER,
'password' => DBPSW,
'dbname' => DBNAME,
);
$this->db = new PDO('mysql:host =' . $config['db']['host'] . ';dbname=' . $config['db']['dbname'],$config['db']['username'],$config['db']['password']) ;
}
public static function getInstance()
{
if (!isset(self::$instance))
{
$object = __CLASS__;
self::$instance = new $object;
}
return self::$instance;
}
public function GetArticles ($search){
$sql = "SELECT `FirstColumn`, `SrcColumn`, `article` FROM `test_table` WHERE `FirstColumn` = 23";
//$dbs = new DB();
$dbs = DB::getInstance();
$query = $dbs->db->prepare($sql);
//$query->bindValue(':search', $search, PDO::PARAM_INT);
$query->execute();
while ($row = $query->fetch(PDO::FETCH_OBJ)) {
// = $row['article'],'</br>';
$return = $row['article'];
}
return $return;
}
}
?>
このファイルは私のテストファイルですが、テストの場としてはそれほど重要ではありません。呼ばれるtest.php
:
<?php
require_once('app_core/config.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<link rel="stylesheet" href="/style/style.css" type="text/css" media="screen" />
</head>
<body>
<?php
$db = new DB();
//echo $db->db;
//echo $db->GetTestDB();
//$test = $db->TestThis();
//print_r($test);
echo $db->GetArticles('23');
?>
</body>
</html>
可能であれば、他にも2つの懸念があります。最初の質問はセキュリティの問題です。これは良い習慣ですか。もう1つの質問は、このパスワードデータを含むファイルを非表示にして、使用できるが誰も読み取れないようにする方法です。