PDA

View Full Version : کد من شی گراست ؟



redhat2
دوشنبه 02 بهمن 1391, 19:36 عصر
سلام به دوستان ، من این کد را نوشتم میخاوستم بدونم که این کد چقدر شی گرا است آیا راه بهتری هم هست که بهترش کنیم ؟
همینوطر که تویه کلاس می بینید من توی کده config.class.php از الگوی singlton استفاده کردم و بعد تویه کلاس func.class.php اومدم اون را به صورت getinstance تعریف کردم ، من میخواستم که به

$this->$_dbconnect در کلاس funcs.class.php دسترسی پیدا کنم تا بعد بتونم بقیه موراد را اناجم دادم بنابراین من اون ا به صورت static تعریف کردم ، آیا بهتر از این هم راهی هست ؟

config.class.php :


<?php
class config
{
private $_dblocal;
private $_dbuser;
private $_dbpass;
private $_dbname;
public static $dbGetInstance;
public static $_dbconnect;
protected $_dbusername;
//Config's ... Function ...
function __construct($dblocal,$dbuser,$dbpass,$dbname)
{
$this->_dblocal = $dblocal;
$this->_dbuser = $dbuser;
$this->_dbpass = $dbpass;
$this->_dbname = $dbname;
self::$_dbconnect = new PDO("mysql:host=".$this->_dblocal.";dbname=".$this->_dbname."",$this->_dbuser,$this->_dbpass);
return self::$_dbconnect;
}
public static function getInstance()
{
if(!isset(self::$dbGetInstance))
{
self::$dbGetInstance = new config("localhost","root","","mesaeed");
}
return self::$dbGetInstance;
}
}
?>

funcs.class.php :


<?php
require_once("config.class.php");
class funcs
{
protected $_dbconnect;
protected $_dbusername;
protected $_dbpassword;
protected $_dbemail;
//User's ... Functions ...
function __construct()
{
return config::getInstance();
}
function existUsername($dbusername)
{
global $dbquery,$dbresult,$dbtable;
$dbtable = "users";
$this->_dbusername = $dbusername;
$this->_dbconnect = config::$_dbconnect;
$dbquery = $this->_dbconnect->prepare("SELECT * FROM ".$dbtable." WHERE username = :username");
$dbquery->bindParam(":username",$this->_dbusername);
$dbquery->execute();
$dbresult = $dbquery->rowCount();
if($dbresult == 1)
{
return true;
}
else
{
return false;
}
}
}
?>

redhat2
دوشنبه 02 بهمن 1391, 21:58 عصر
کسی نبود .