Ecriture de ma première application en PHP qui utilise des classes et des objets. J'ai une classe DB qui prend une chaîne pour sélectionner la configuration appropriée car il y a plusieurs bases de données. J'ai commencé avec une classe de connexion, mais j'ai gratté cette idée en échange d'une classe d'utilisateur afin que je puisse faire des choses utilisateur-> isLoggedIn. La classe d'utilisateurs utilise MySQL qui stocke les informations d'utilisateur et de connexion, ainsi que les informations d'identification pour la deuxième base de données.Nouveau sur OOP PHP, demande de guidence, partage de données entre classes design
$mysql = new db('mysql');
$user = new user($mysql);
if(!($user->isLoggedIn() === true))
{
goToPage('login.php');
exit();
}
La deuxième base de données est Sybase et stocke les informations de compte. J'ai besoin des informations d'identification de la classe d'utilisateurs pour obtenir des informations sur les listes et les comptes d'ici. Je pense qu'une classe de compte devrait être la prochaine, mais pas sûr de la meilleure façon de le faire. Quelque chose comme ça peut-être ..
$sybase = new db('sybase');
$account = new account($sybase);
$account_list = $account->getList($user->info);
$ user-> Lire les infos un tableau je suppose que des pouvoirs et des informations nécessaires à la table de compte, ou est-il une meilleure façon d'aller à ce sujet?
Edité d'inclure par exemple de classe 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;
}
Est-ce que quelque chose comme logique ?
class User()
{
public function getAccountList()
{
$this->Account = new Account(new Database('sybase'));
return $this->Account->list($this->userid);
}
}
En outre, les comptes ont des sections différentes (à savoir l'histoire & Notes, transactions financières, documents) qui seront différents 'onglets' sur la page. Est-ce que chacun d'entre eux devrait aussi être une classe? Merci.
Je ne comprends pas vraiment la différence entre un utilisateur et un compte dans ce scénario. Ne sont-ils pas la même chose? Ou l'utilisateur est la personne connectée, et les comptes sont des choses auxquelles ils essaient d'accéder? –
L'utilisateur est simplement une personne connectée. Userid et pass sont stockés dans mysql sur le serveur web. pas de registre - nous configurons les utilisateurs et donnons des informations d'identification pour la deuxième base de données. informations sur le compte (deuxième base de données) est stocké dans sybase sur le serveur distant – bdscorvette
Ok, cela a du sens. Mon travail est plus de gestion de compte que de codage ces jours-ci, donc j'ai tendance à penser à "comptes" et "utilisateurs" comme la même chose ;-). –