[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: QueryBuilder! Прокатимся?
Страницы: 1, 2
stump
Дождусь инфы от volter9 и сделаю еще один подход к снаряду порефакторив классы немного. В плане стоит через 2 недели вернуться к этому блоку, но подумаю про изменение своего плана.

_____________
Трус не играет в хокей
stump
Теперь колеса стали с литыми дисками:
новые колеса
<?php

namespace Database;

/**
* Description of PDO
*
@author stump
*/


trait PDO
{
private $pdo;
private $statement;

private $DB_HOST = '127.0.0.1';
private $DB_NAME = 'mydb';
private $DB_USER = 'root';
private $DB_PW = '1111';

public function __get( $name )
{
echo $name;
return $this -> $name;
}

public function connect()
{
$this -> pdo = new \PDO(
"mysql:host=" . $this -> DB_HOST . " ;dbname=" . $this -> DB_NAME . ";",
$this -> DB_USER,
$this -> DB_PW
);
$this -> pdo;
}

public function prepare( $sql )
{
return ( TRUE == ( $this -> statement = $this -> pdo -> prepare( $sql ) ) );
}

public function execute( $param )
{
return ( TRUE == $this -> statement -> execute( $param ) );
}

public function fetch()
{
return $this -> statement -> fetchAll( \PDO::FETCH_CLASS );
}
}


Педали с таким себе держателями стопы (спортивные):
Новые педали
<?php

namespace Database;
use Database\QueryBuilder,
Database\PDO;

/**
* Description of User
*
@author stump
*/

class Database
{
use PDO
{
prepare as pdo_prepare;
execute as pdo_execute;
}

public $sql = NULL;
public $param = [];

public function __construct()
{
$this -> connect();
}

public function Build( QueryBuilder $Query )
{
$this -> sql = empty( $Query -> apply() )
?
""
: $Query -> sql;
return ( bool )$this -> sql;
}

public function execute()
{
$this -> pdo_prepare( $this -> sql );
$execute = $this -> pdo_execute( $this -> param );
return $execute;
}

public function query()
{

$this -> pdo_prepare( $this -> sql );
$this -> pdo_execute( $this -> param );
$fetch = $this -> fetch();
return $fetch;
}
}


Изменились правила езды:
теперь педали надо крутить без релакса
$Query = new QueryBuilder();
$Query -> addpart( 'SELECT', "*" )
->
addpart( 'FROM', 'user' )
->
addpart( 'WHERE', ['id > 1', 'id < 10'] )
->
addpart( 'LIMIT', [8] );

$db = new Database();
$db -> Build( $Query );
$res = $db -> query();
//левой-правой-повторить


_____________
Трус не играет в хокей
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.