クラスとオブジェクトを利用するPHPで私の最初のアプリケーションを書く。 複数のデータベースがあるため、適切な設定を選択するために文字列を使用するDBクラスがあります。私はログインクラスを使い始めましたが、ユーザークラスと引き換えにそのアイデアを傷つけて、user-> isLoggedInのようにすることができます。ユーザークラスは、ユーザーとログイン情報を格納するMySQLと、2番目のデータベースの資格情報を使用します。OOP PHPの新機能、指導要求、クラス間のデータ共有設計
$mysql = new db('mysql');
$user = new user($mysql);
if(!($user->isLoggedIn() === true))
{
goToPage('login.php');
exit();
}
第2のデータベースはSybaseであり、アカウント情報を格納します。ここからリストとアカウント情報を取得するには、ユーザークラスの資格情報が必要です。私は、アカウントクラスは、次に行うべきだと思うが、それを行うための最善の方法はないと思う。多分このような何か...
$sybase = new db('sybase');
$account = new account($sybase);
$account_list = $account->getList($user->info);
する$ user->は情報私は、アカウントのテーブルに必要な資格情報と情報の推測配列され、またはこれについて行くには良い方法はありますか?
編集デシベルクラスの例に
config.db.php
$config_array = array();
$config_array[ 'mysql' ][ 'dsn' ] = "mysql:host=localhost;dbname=********;charset=UTF-8";
$config_array[ 'mysql' ][ 'user' ] = "********";
$config_array[ 'mysql' ][ 'pass' ] = "**************";
$config_array[ 'sybase' ][ 'dsn' ] = "odbc:DRIVER={Adaptive Server Anywhere 8.0};***************";
$config_array[ 'sybase' ][ 'user' ] = "**********";
$config_array[ 'sybase' ][ 'pass' ] = "*********";
class.db.php
public function __construct($type)
{
require 'config.db.php';
$this->type = $type;
foreach($config_array[ $this->type ] AS $key => $value)
{
$this->$key = $value;
}
try
{
$this->connection = new PDO($this->dsn, $this->user, $this->pass, $this->options);
}
catch(PDOException $ex)
{
log_action("db->" . $this->type, $ex->getCode() . ": " . $ex->getMessage());
$this->error = true;
}
return $this->connection;
}
を含むように、以下のようなものが意味を成しています?
class User()
{
public function getAccountList()
{
$this->Account = new Account(new Database('sybase'));
return $this->Account->list($this->userid);
}
}
はまた、アカウントは、ページ上の異なる「タブ」になります異なるセクション(すなわち、歴史&ノート、金融取引、ドキュメントを)持っています。それらの各クラスもクラスにする必要がありますか?おかげさまで
このシナリオでは、ユーザーとアカウントの違いはわかりません。彼らは同じものではありませんか?または、ユーザーがログインしている人で、アカウントがアクセスしようとしているものですか? –
ユーザはログインした人だけです.useridとpassはwebserverのmysqlに保存されています。レジストリなし - ユーザーを設定し、2番目のデータベースの資格情報を与えます。アカウント情報(2番目のデータベース)はリモートサーバのsybaseに格納されています – bdscorvette
これは意味があります。私の仕事は最近のコーディングよりもアカウント管理が多いので、私は "アカウント"と "ユーザー"を同じものと考える傾向があります;-)。 –