archivo admin/include/Config.php
Código PHP:
<?php
class Config
{
private $vars;
private static $instance;
private function __construct()
{
$this->vars = array();
}
//Con set vamos guardando nuestras variables.
public function set($name, $value)
{
if(!isset($this->vars[$name]))
{
$this->vars[$name] = $value;
}
}
//Con get('nombre_de_la_variable') recuperamos un valor.
public function get($name)
{
if(isset($this->vars[$name]))
{
return $this->vars[$name];
}
}
public static function singleton()
{
if (!isset(self::$instance)) {
$c = __CLASS__;
self::$instance = new $c;
}
return self::$instance;
}
}
?>
Código PHP:
<?php
/**
* config.php
* achivo de configuracion
*
* @author : Lucas M. Sastre.
* @copyright : Onírico Sistemas.
* @link : http://www.oniricosistemas.com.ar
*
* @package : leongieco.com.
* @version : 0.1
*/
$config = Config::singleton();
$config->set('controllersFolder', 'controllers/');
$config->set('modelsFolder', 'modelo/');
$config->set('viewsFolder', 'vistas/');
$config->set('dbhost', 'localhost');
$config->set('dbname', 'leon_gieco');
$config->set('dbuser', 'root');
$config->set('dbpass', '');
?>
Código PHP:
<?php
/**
* database.php
* Clase que maneja la conexiones myql.
*
* @author : Lucas M. Sastre.
* @copyright : Onírico Sistemas.
* @link : http://www.oniricosistemas.com.ar
*
* @package : leongieco.com.
* @version : 0.1
*/
class DataBase {
// an array of properties used by __get and __set
private $props;
// the actual connection resource
protected $connection;
// the hostname for the database server
protected $hostname;
// the name of the database to use
protected $database;
// the username to use to access the database
protected $username;
// the password to use to access the database
protected $password;
public function __construct($dbHost=null, $dbName=null, $dbUser=null, $dbPass=null) {
$this->database = $dbName;
$this->hostname = $dbHost;
$this->username = $dbUser;
$this->password = $dbPass;
}
public function Connected() {
if (is_resource($this->connection)) {
return true;
} else {
return false;
}
}
public function AffectedRows() {
return mysql_affected_rows($this->connection);
}
public function Open() {
if (is_null($this->database))
die("MySQL database not selected");
if (is_null($this->hostname))
die("MySQL hostname not set");
$this->connection = @mysql_connect($this->hostname, $this->username, $this->password);
if ($this->connection === false)
die("Could not connect to database. Check your username and password then try again.\n");
if (!mysql_select_db($this->database, $this->connection)) {
die("Could not select database");
}
}
public function Close() {
mysql_close($this->connection);
$this->connection = null;
}
public function Query($sql) {
if ($this->connection === false) {
die('No Database Connection Found.');
}
$result = @mysql_query($sql,$this->connection);
if ($result === false) {
die(mysql_error());
}
return $result;
}
public function FetchArray($result) {
if ($this->connection === false) {
die('No Database Connection Found.');
}
$data = @mysql_fetch_array($result);
if (!is_array($data)) {
die(mysql_error());
}
return $data;
}
}
?>
Código PHP:
<?php
/**
* ModelBase.php
* Archivo que nos permitira ahorrarnos el paso de iniciar Mysql en cada modelo.
*
*
* @author : Lucas M. Sastre.
* @copyright : Onírico Sistemas.
* @link : http://www.oniricosistemas.com.ar
*
* @package : leongieco.com.
* @version : 0.1
* @return : Ultimas noticias agregradas.
*
*/
abstract class ModelBase
{
protected $db;
public function __construct()
{
$this->db = DB::singleton();
}
}
?>
Código PHP:
<?php
/**
* Db.php
* lase que extiende de DATABASE, su única ventaja es que nos permite aplicar el patron Singleton
* para mantener una única instancia de DATABASE.
*
* @author : Lucas M. Sastre.
* @copyright : Onírico Sistemas.
* @link : http://www.oniricosistemas.com.ar
*
* @package : leongieco.com.
* @version : 0.1
*/
class DB extends DataBase {
private static $instance = null;
public function __construct(){
//connect to the MySQL server (replace host, username, and password with your own values)
$config = Config::singleton();
parent::__construct($config->get('dbhost'), $config->get('dbname'),$config->get('dbuser'), $config->get('dbpass'));
}
public static function singleton()
{
if( self::$instance == null )
{
self::$instance= new self();
}
return self::$instance;
}
}
?>
LoginModel.php
Código PHP:
<?php
/**
* LoginModel.php
* Archivo del Modelo para el login
*
*
* @author : Lucas M. Sastre.
* @copyright : Onírico Sistemas.
* @link : http://www.oniricosistemas.com.ar
*
* @package : leongieco.com.
* @version : 0.1
*
*
*/
class LoginModel extends DB {
public function login($user, $pass){
$consulta=$this->Query();
}
}
?>
$consulta=$this->db->prepare("select * from mitabla");
que deberia configurar para poder hacer los mismo pero con mysql es decir:
$consulta=$this->db->Query("select * from mitabla");
y por ultimo donde deberia poner el $consulta=$this->Connected(); para no tener que llmarlo siempre?
desde ya muchas gracias