-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDb.php
More file actions
89 lines (83 loc) · 3.77 KB
/
Copy pathDb.php
File metadata and controls
89 lines (83 loc) · 3.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<?php
declare(strict_types=1);
/*
* This file is part of the QuidPHP package <https://quidphp.com>
* Author: Pierre-Philippe Emond <emondpph@gmail.com>
* License: https://github.com/quidphp/core/blob/master/LICENSE
*/
namespace Quid\Core;
use Quid\Orm;
// db
// extended class used to query the database
class Db extends Orm\Db
{
// trait
use _bootAccess;
// config
protected static array $config = [
'logClass'=>[ // classe à utiliser pour logger ces différents types de requêtes
'select'=>null,
'show'=>null,
'insert'=>Row\LogSql::class,
'update'=>Row\LogSql::class,
'delete'=>Row\LogSql::class,
'create'=>Row\LogSql::class,
'alter'=>Row\LogSql::class,
'truncate'=>Row\LogSql::class,
'drop'=>Row\LogSql::class],
'classe'=>[ // option pour l'objet classe
'default'=>[ // classe par défaut
'table'=>Table::class,
'col'=>Col::class,
'row'=>Row::class,
'cell'=>Cell::class,
'cols'=>Cols::class,
'rows'=>Rows::class,
'cells'=>Cells::class],
'colKind'=>[ // classe pour colonne selon le kind
'int'=>Col\Integer::class,
'float'=>Col\Floating::class],
'colAttr'=>[ // classe pour colonne selon un attribut
'media'=>Col\Media::class,
'set'=>Col\Set::class,
'enum'=>Col\Enum::class]],
'tables'=>[], // paramètre par défaut pour les tables
'cols'=>[ // paramètre par défaut pour les colonnes
'id'=>['class'=>Col\Primary::class],
'enum'=>['class'=>Col\Enum::class],
'set'=>['class'=>Col\Set::class],
'active'=>['class'=>Col\Active::class,'general'=>true],
'dateAdd'=>['class'=>Col\DateAdd::class],
'dateLogin'=>['class'=>Col\DateLogin::class],
'dateModify'=>['class'=>Col\DateModify::class],
'email'=>['class'=>Col\Email::class],
'json'=>['class'=>Col\Json::class],
'name'=>['general'=>true,'required'=>true],
'session_id'=>['class'=>Col\Session::class],
'timezone'=>['class'=>Col\Timezone::class],
'type'=>['general'=>true,'required'=>true],
'key'=>['general'=>true,'required'=>true],
'status'=>['general'=>true,'required'=>true],
'userAdd'=>['class'=>Col\UserAdd::class],
'userModify'=>['class'=>Col\UserModify::class],
'userCommit'=>['class'=>Col\UserCommit::class],
'username'=>['class'=>Col\Username::class],
'content'=>['tag'=>'textarea'],
'media'=>['class'=>Col\Media::class],
'medias'=>['class'=>Col\Medias::class],
'storage'=>['class'=>Col\Media::class,'path'=>'[storagePrivate]','extension'=>'pdf'],
'storages'=>['class'=>Col\Medias::class,'path'=>'[storagePrivate]','extension'=>'pdf'],
'code'=>['required'=>true,'general'=>true],
'date'=>['class'=>Col\Date::class,'required'=>true],
'dateEnd'=>['class'=>Col\Date::class,'compare'=>['>=','dateStart']],
'dateStart'=>['class'=>Col\Date::class,'compare'=>['<='=>'dateEnd']],
'datetime'=>['class'=>Col\Date::class,'required'=>true,'date'=>'dateToMinute'],
'datetimeEnd'=>['class'=>Col\Date::class,'date'=>'dateToMinute','compare'=>['>='=>'datetimeStart']],
'datetimeStart'=>['class'=>Col\Date::class,'date'=>'dateToMinute','required'=>true,'default'=>true,'compare'=>['<='=>'datetimeEnd']],
'website'=>['class'=>Col\UriAbsolute::class],
'pointer'=>['class'=>Col\Pointer::class]]
];
}
// init
Db::__init();
?>