Titan 2 ye db entegre

db
Titan db yerine https://github.com/envms/fluentpdo bunu kullanmak istiyorum ama beceremedim
composer ile indirdim fluenti
libs icindeki db.php yi fluent baglantisi seklinde duzenledim

<?php
/*************************************************
* Titan-2 Mini Framework
* DB Library
*
* Author : Turan Karatuğ
* Web : http://www.titanphp.com
* Docs : http://kilavuz.titanphp.com
* Github : http://github.com/tkaratug/titan2
* License : MIT
*
*************************************************/
namespace SystemLibsDatabase;

use PDO;
use PDOException;
use SystemLibsExceptionExceptionHandler;
class DB
{

public $pdo = null;
protected $config;
protected $prefix;
public function __construct()
{

// Getting db config items
$this->config = config('database');

$this->config['db_driver'] = ($this->config['db_driver']) ? $this->config['db_driver'] : 'mysql';
$this->config['db_host'] = ($this->config['db_host']) ? $this->config['db_host'] : 'localhost';
$this->config['db_charset'] = ($this->config['db_charset']) ? $this->config['db_charset'] : 'utf8';
$this->config['db_collation'] = ($this->config['db_collation']) ? $this->config['db_collation'] : 'utf8_general_ci';
$this->config['db_prefix'] = ($this->config['db_prefix']) ? $this->config['db_prefix'] : '';

// Setting prefix
$this->prefix = $this->config['db_prefix'];

$dsn = '';
// Setting connection string
if ($this->config['db_driver'] == 'mysql' || $this->config['db_driver'] == 'pgsql' || $this->config['db_driver'] == '') {
$dsn = $this->config['db_driver'] . ':host=' . $this->config['db_host'] . ';dbname=' . $this->config['db_name'];
} elseif ($this->config['db_driver'] == 'sqlite') {
$dsn = 'sqlite:' . $this->config['db_name'];
} elseif ($this->config['db_driver'] == 'oracle') {
$dsn = 'oci:dbname=' . $this->config['db_host'] . '/' . $this->config['db_name'];
}

// Connecting to server
try
{


$pdo = new PDO($dsn, $this->config['db_user'], $this->config['db_pass']);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
$pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
$pdo = new FluentPDO($pdo);
}
catch(PDOException $e)
{
throw new ExceptionHandler("DB error", "Can not connect to Database with PDO.<br><br>" . $e->getMessage());
}

return $pdo;
}

function __destruct()
{
$this->pdo = null;
}

}



$query = DB::from('user')->where('id > ?', 0)->orderBy('name');

bunun calismasini istiyorum ama beceremedim skype verirmisiniz sorunumu detayli anlatayim

Cevaplar (3)


Zeyd Duran
Web Master Olma yolunda Bir kardeşiniz :)
2 hafta önce

Bu sınıfı yazan adam kör oldu o yüzden yardımcı olamıyoruz !
Turan Karatuğ
Software Developer - Creator of TitanMVC
2 hafta önce

System/Libs/Database/DB.php dosyasını açağıdaki gibi düzenleyin;

namespace System\Libs\Database;

use PDO;
use FluentPDO;

class DB
{
private $config;
private $prefix;
private $pdo;
private $fluent;

public function init()
{
// Getting db config items
$this->config = config('database');

$this->config['db_driver'] = ($this->config['db_driver']) ? $this->config['db_driver'] : 'mysql';
$this->config['db_host'] = ($this->config['db_host']) ? $this->config['db_host'] : 'localhost';
$this->config['db_charset'] = ($this->config['db_charset']) ? $this->config['db_charset'] : 'utf8';
$this->config['db_collation'] = ($this->config['db_collation']) ? $this->config['db_collation'] : 'utf8_general_ci';
$this->config['db_prefix'] = ($this->config['db_prefix']) ? $this->config['db_prefix'] : '';

// Setting prefix
$this->prefix = $this->config['db_prefix'];

$dsn = '';
// Setting connection string
if ($this->config['db_driver'] == 'mysql' || $this->config['db_driver'] == 'pgsql' || $this->config['db_driver'] == '') {
$dsn = $this->config['db_driver'] . ':host=' . $this->config['db_host'] . ';dbname=' . $this->config['db_name'];
} elseif ($this->config['db_driver'] == 'sqlite') {
$dsn = 'sqlite:' . $this->config['db_name'];
} elseif ($this->config['db_driver'] == 'oracle') {
$dsn = 'oci:dbname=' . $this->config['db_host'] . '/' . $this->config['db_name'];
}

// Connecting to server
try
{
$this->pdo = new PDO($dsn, $this->config['db_user'], $this->config['db_pass']);
$this->pdo->exec("SET NAMES '" . $this->config['db_charset'] . "' COLLATE '" . $this->config['db_collation'] . "'");
$this->pdo->exec("SET CHARACTER SET '" . $this->config['db_charset'] . "'");
$this->pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
$this->fluent = new FluentPDO($this->pdo);
}
catch(PDOException $e)
{
throw new ExceptionHandler("DB error", "Can not connect to Database with PDO.<br><br>" . $e->getMessage());
}

return $this->fluent;
}
}


Daha sonra model içinde aşağıdaki gibi kullanabilirsiniz;
$fpdo 	= DB::init();
query = $fpdo->from('table_name');

foreach($query as $row)
{
dd($row);
}
yusuf kaan
Backend Devoloper
1 hafta önce

cok tesekkur ederim direk kullanmaya calistim statik bir fonksiyon yapmak aklima gelmedi

Cevap Yazın


[code=php,css,sql]kod[/code] , [url=http:...com] , [img=imaj linki] , [color=renk_kodu]metin[/color]