PHP में अपना पहला एप्लिकेशन लिखना जो कक्षाओं और वस्तुओं का उपयोग करता है। मेरे पास एक डीबी कक्षा है जो उपयुक्त कॉन्फ़िगरेशन का चयन करने के लिए एक स्ट्रिंग लेती है क्योंकि कई डेटाबेस हैं। मैंने एक लॉगिन कक्षा के साथ शुरुआत की लेकिन उपयोगकर्ता वर्ग के बदले में उस विचार को खरोंच कर दिया ताकि मैं उपयोगकर्ता-> लॉग इन इन सामान कर सकूं। उपयोगकर्ता वर्ग MySQL का उपयोग करता है जो उपयोगकर्ता और लॉगिन जानकारी संग्रहीत करता है, साथ ही दूसरे डेटाबेस के लिए प्रमाण-पत्र भी संग्रहीत करता है।ओओपी PHP, गाइड अनुरोध, क्लास डिज़ाइन के बीच डेटा साझाकरण
$mysql = new db('mysql');
$user = new user($mysql);
if(!($user->isLoggedIn() === true))
{
goToPage('login.php');
exit();
}
दूसरा डेटाबेस साइबेस है और खाता जानकारी संग्रहीत करता है। मुझे यहां से सूचियों और खातों की जानकारी प्राप्त करने के लिए उपयोगकर्ता कक्षा से प्रमाण-पत्र की आवश्यकता है। मुझे लगता है कि एक खाता वर्ग अगले होना चाहिए, लेकिन यह सुनिश्चित करने का सबसे अच्छा तरीका नहीं है। इस शायद कुछ ऐसा ..
$sybase = new db('sybase');
$account = new account($sybase);
$account_list = $account->getList($user->info);
$ उपयोगकर्ता-> जानकारी एक सरणी मैं क्रेडेंशियल्स और जानकारी खाता तालिका के लिए आवश्यक लगता जा रहा है, या वहाँ इस बारे में जाने के लिए एक बेहतर तरीका है?
संपादित db वर्ग उदाहरण शामिल करने के लिए
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);
}
}
इसके अलावा, लेखा विभिन्न वर्गों (अर्थात इतिहास & नोट्स, वित्तीय लेनदेन, दस्तावेज) उस पृष्ठ की विभिन्न 'टैब' होगा। क्या उनमें से प्रत्येक एक वर्ग भी होना चाहिए? धन्यवाद।
मैं वास्तव में एक उपयोगकर्ता और इस परिदृश्य में एक खाता के बीच का अंतर समझ में नहीं आता। क्या वे एक ही बात नहीं हैं? या उपयोगकर्ता लॉग इन व्यक्ति है, और खाते वे चीजें हैं जिन्हें वे एक्सेस करने का प्रयास कर रहे हैं? –
उपयोगकर्ता सिर्फ व्यक्ति लॉग इन है। उपयोगकर्ता आईडी और पास webssver पर mysql में संग्रहीत है। कोई रजिस्ट्री नहीं - हम उपयोगकर्ताओं को स्थापित करते हैं और दूसरे डेटाबेस के लिए प्रमाण पत्र देते हैं। खाता जानकारी (दूसरा डेटाबेस) दूरस्थ सर्वर – bdscorvette
पर sybase में संग्रहीत है ठीक है, यह समझ में आता है। मेरा काम इन दिनों कोडिंग से अधिक खाता प्रबंधन है, इसलिए मुझे एक ही चीज़ के रूप में "खाते" और "उपयोगकर्ता" के बारे में सोचना पड़ता है ;-)। –