私は現在行っていることが最適ではないと確信しています、しかし私は本当にあなたがどのようにWebアプリケーション接続文字列。現時点でdbクエリを処理する最善の方法は何ですか
は、私は各クラスのファイルを持っているclasses
ディレクトリを持っていると私は、接続文字列を持っており、db
ディレクトリ上の他のファイルがclasses
ディレクトリに似ていますconn.php
が含まdb
と呼ばれる別のディレクトリを持っています各クラスに1つ、mysqlクエリを処理するためのものです。
だから、基本的に私は1つのファイルにクラスごとにすべてのDBクエリを持っていると私はクラスファイルから何かを照会する必要がある時はいつでも、私は、対応するDBファイル内の各DBファイルを含める
デシベルファイルに関数を呼び出しますたとえば、user.class.php
ファイルには、include('db/user.db.php')
があります。
また、各dbファイルにはconn.php
ファイルが含まれています。
user.class.php
:
include('db/user.db.php');
class User {
public $fname;
public $userid;
function __construct($userid) {
$this->user_id = $userid;
$this->fname = DB_GetFirstName($userid);
}
}
user.db.php
:
include('conn.php');
function DB_GetFirstName($userid) {
$result = mysql_fetch_array(mysql_query("SELECT USR_FName FROM users WHERE USR_ID = '$userid'"));
return $result[0];
}
conn.php
:
$conn = mysql_connect("localhost", "user", "pass");
mysql_select_db("dbname", $conn);
それをどのように扱うのですか?
音で(Zend Frameworkの例に)TDGSへの良好な導入はあり大丈夫です。ドメインクラスからDbアクセスを分離しています。あなたはそれをどのようにまとめますか? UserクラスとUserDbクラスからいくつかのスニペットを表示できますか? – Gordon
スニペットを追加しましたが、あまりにもエレガントに見えません。私はまた、クエリごとにdbへの接続を開く必要があると言われましたが、それはなぜですか? –