私は現在、.NetバックグラウンドでPHPを学んでいます。私はそれを呼び出すことができるように、関数にデータベース接続文字列を設定する方法を設定したかったのです。私はクラスを作成し、これが適切に行われたかどうか、または私が間違いを犯したかどうかを確認したいだけでした。これはPHP OOPにとって最適な方法ですか?
ページ:module.php
// Database Connection Settings
$_SESSION['servername'] = "localhost";
$_SESSION['mysql_username'] = "user12345";
$_SESSION['mysql_password'] = "mypass12345";
$_SESSION['dbname'] = "dbnamehere";
class db_Class{
function db_conn() {
//global $conn;
$conn = new mysqli($_SESSION['servername'], $_SESSION['mysql_username'], $_SESSION['mysql_password'], $_SESSION['dbname']);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
return $conn;
}
}
ページ:ここに私のコードですtest.phpを
//Bring the class into the page for access.
include_once("module.php");
//Access our class.
$db_Class = new db_Class;
$conn = ($db_Class->db_conn());
//connect to the database.
$sql = "SELECT id, region FROM tbl_region;";
$result = $conn->query($sql);
//Print the results out.
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo '<td align="left" valign="top"><p>'.$row["region"].'</p></td></tr>';
}
}
これは、セットアップに適切な方法PHPとデータベース接続のためのオブジェクト指向プログラミングですか?もしあなたが私が間違っていることを説明できないのであれば?
率直に言って、それがすべてでOOPとは何の関係もありません。実際には、クラス内にラップされた単なる関数です。クラス宣言を自由に取り出して、関数db_conn()だけを残すことができます –
はい、OOPコーディングを練習する方が良いのですか?もしそうなら、私はクラスを使っているので、これはOOPを考慮する必要はありませんか? –
OOPは構文ではなくアーキテクチャに関するものです。たくさんのクラスのコードを書くことができますが、手続き的なままです。 –