1
2
3
4
5
6
7
8
9
'pdo' => ['dsn' => 'mysql:dbname=abc_example;host=localhost', // Настройки коннекта
'opt' => [], // Дополнительные опции
'user' => 'root', // Пользователь MySql
'pass' => '', // Пароль
'prefix' => 'abc_', // Префикс таблиц
'debug' => true, // Режим дебаггинга
],
1
2
3
$pdo = Abc::sharedService(ABC::PDO);
1
2
SELECT * FROM `table`
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
namespace ABC\App\Models;
use ABC\Abc;
/**
* Класс MainModel
*
*/
class MainModel
{
public function getContent()
{
$pdo = Abc::sharedService('Pdo');
$pdo->query("SELECT * FROM `table`");
}
}
Тестирует запрос.
Выводит на экран текст запросов (как простых, так и подготавливаемых). Дополнительно для запросов выборки - время исполнения и Explain
public Pdo::test ( ) | ||
return | object | Объект сервиса |
---|
1
2
3
INSERT INTO `table`
SET `text` = 'McDonald\'s'
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
*
*/
class MainModel
{
public function getContent()
{
$pdo = Abc::sharedService('Pdo');
$pdo->test(); // Тестируем запрос
$stmt = $pdo->prepare("INSERT INTO `table`
SET `text` = :text "
);
$text = "McDonald's";
$stmt->execute(['text' => $text]);
}
}
1
2
SELECT * FROM `table`
id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | Extra |
---|---|---|---|---|---|---|---|---|---|---|
1 | SIMPLE | table | ALL | 11 |
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use ABC\Abc;
/**
* Класс MainModel
*
*/
class MainModel
{
public function getContent()
{
$pdo = Abc::sharedService('Pdo');
$pdo->test(); // Тестируем запрос
$pdo->query("SELECT * FROM `table`");
}
}
Предоставляет связь с сервером MySql.
Организует коннект к СУБД с новыми настройками.
public Pdo::newConnect ( $config = array ) | ||
$config | array | Массив настроек сервиса. [ 'dsn' => Настройки коннекта 'opt' => Дополнительные опции 'user' => Пользователь MySql 'pass' => Пароль 'prefix' => Префикс таблиц 'debug' => Режим дебаггинга ] |
return | void |
---|
Префикс таблиц MySQL.
public Pdo::$prefix = null |
1
2
3
$pdo->query("SELECT * FROM `". $pdo->prefix ."table`");