|
|
автор: Тень (27.01.2010 в 18:35) |
|
|
для: Тень
(27.01.2010 в 18:34)
| | Да, ещё: не делайте тогда уж обёртку MySQL-зависимой, и тогда от неё появится хоть какой-то плюс (лёгкая смена СУБД). | |
|
|
|
|
автор: Тень (27.01.2010 в 18:34) |
|
|
для: freeing
(27.01.2010 в 16:54)
| | Ну безопасность тут не при чём (пока).
Пока что у Вас практически пустая обёртка вокруг mysql_* функций, для чего Вам она? Есть смысл её использовать, если Вам она кажется удобнее. | |
|
|
|
|
|
|
|
для: Тень
(27.01.2010 в 15:59)
| | Ну а если так? Так же надежнее с точки зрения безопасности?
Файл configuration.php
<?php
/*--------------------------------------------------*/
// Class Configuration
class Configuration
{
// MySQL- Connect
protected $mysql_server = "MyServer";
protected $mysql_username = "MyName";
protected $mysql_password = "MyPass";
// MySQL- Select DB
protected $mysql_database_name = "MyDB";
}
/*--------------------------------------------------*/
?>
|
Файл mysql.php
<?php
/*--------------------------------------------------*/
require_once "configuration.php";
/*--------------------------------------------------*/
// Class MySQL
final class MySQL extends Configuration
{
private $resource;
// Function Connect
public function Connect()
{
$this->resource = mysql_connect
(
$this->mysql_server,
$this->mysql_username,
$this->mysql_password
);
}
// Function Close
public function Close()
{
mysql_close($this->resource);
}
}
/*--------------------------------------------------*/
$MySQL = new MySQL();
/*--------------------------------------------------*/
?>
|
Пример использования:
<?php
/*--------------------------------------------------*/
require_once "mysql.php";
/*--------------------------------------------------*/
$MySQL->Connect();
//
/* какое то действие */
//
$MySQL->Close();
/*--------------------------------------------------*/
?>
|
| |
|
|
|
|
автор: Тень (27.01.2010 в 15:59) |
|
|
для: freeing
(27.01.2010 в 14:23)
| | Нет, смысла нет. | |
|
|
|
|
|
|
|
для: freeing
(27.01.2010 в 14:23)
| | Допустим, Вы меняете сервер, логин, пароль, базу, вы каждый раз класс ваш будете заново переписывать?
Можно еще коннект сделать отдельным методом и запихнуть его в конструктор. Чтобы можно было в конструктор передать параметры и сразу приконнектиться.
Если без интерфейсов(хотя правильнее через них), то надо так:
<?php
/*--------------------------------------------------*/
// Class Configuration
final class Configuration{
// MySQL- Connect
private $mysql_server;
private $mysql_username;
private $mysql_password;
private $mysql_database;
public function MyConnect($server,$username,$password,$database){
$this->mysql_server = $server;
$this->mysql_username = $username;
$this->mysql_password = $password;
$this->mysql_database = $database;
}
//здесь надо поставить метод для обработки ошибок
//здесь поставить метод на коннект с базой
}
/*--------------------------------------------------*/
$cfg = new Configuration();
$cfg->MyConnect("MyServer","MyName","MyPass","MyDB");
//здесь вызвать метод на коннект с базой
/*--------------------------------------------------*/
?>
|
| |
|
|
|
|
|
|
| Есть ли смысл работать с конфигурацией в таком виде:
<?php
/*--------------------------------------------------*/
// Class Configuration
final class Configuration
{
// MySQL- Connect
public $mysql_server = "MyServer";
public $mysql_username = "MyName";
public $mysql_password = "MyPass";
// MySQL- Select DB
public $mysql_database = "MyDB";
}
/*--------------------------------------------------*/
$cfg = new Configuration();
/*--------------------------------------------------*/
?>
|
Пример использования:
<?php
//*--------------------------------------------------*/
require_once "configuration.php";
//*--------------------------------------------------*/
$cfg->mysql_server;
$cfg->mysql_username;
$cfg->mysql_password;
$cfg->mysql_database;
//*--------------------------------------------------*/
?>
|
| |
|
|
|
|