155. public function __construct(array $config = [])
156. {
157. $this->defaultConfig = Config::default('ZN\Database\DatabaseDefaultConfiguration')
158. ::get('Database', 'database');
159. $this->config = array_merge($this->defaultConfig, $config);
160. $this->db = $this->runDriver();
161. $this->prefix = $this->config['prefix'];
162. Properties::$prefix = $this->prefix;
163.
164. $this->db->connect($this->config);
165. }
166.
167. /**
168. * Magic Debug Info
169. */
170. public function __debugInfo()
171. {
172. return ['return' => $this->stringQuery ?: 'This is a general object, please call the sub method!'];
173. }
174.
1338. */
1339. public function query(string $query, array $secure = [])
1340. {
1341. $secure = $this->secure ?: $secure; $this->secure = [];
1342. $caching = $this->caching; $this->caching = [];
1343. $tableName = $this->tableName; $this->tableName = '';
1344. $jsonDecode = $this->jsonDecode; $this->jsonDecode = [];
1345. $paging = $this->paging ?? 'row'; $this->paging = NULL;
1346.
1347. return (new self($this->config))->setQueryByDriver($query, $secure,
1348. [
1349. 'caching' => $caching,
1350. 'tableName' => $tableName,
1351. 'jsonDecode' => $jsonDecode,
1352. 'paging' => $paging
1353. ]);
1354. }
1355.
1356. /**
1357. * Exec Basic Query
792. }
793.
794. if( $this->transaction === true )
795. {
796. $this->transactionQueries[] = $finalQuery;
797.
798. return $this;
799. }
800.
801. return $this->$returnQuery($finalQuery, $this->secure);
802. }
803.
804. /**
805. * Duplicate Check
806. *
807. * @param string ...$args
808. *
809. * @return DB
810. */
811. public function duplicateCheck(...$args) : DB
205. {
206. $result = 'value';
207.
208. $this->select($select);
209.
210. $whereClause = true;
211. }
212. }
213.
214. $return = $this->get($method);
215.
216. # Return ->get()
217. if( ! isset($result) )
218. {
219. return $return;
220. }
221.
222. # Return ->row(0) || result('object')
223. return $return->$result($whereClause);
224. }
84. return $this->callWhereHavingTalkingQuery($split, $parameters);
85. }
86. # Insert - Update - Delete
87. elseif( in_array($split[1] ?? NULL, ['Delete', 'Update', 'Insert']) )
88. {
89. return $this->callCrudTalkingQuery($split, $parameters);
90. }
91. else
92. {
93. return $this->callResultMethodsTalkingQuery($originMethodName, $split, $parameters);
94. }
95. }
96.
97. /**
98. * Protected call join talkin query
99. */
100. protected function callJoinTalkingQuery($split, $parameters)
101. {
102. $type = $split[0] ?? 'left';
103. $table1 = $split[2] ?? '';
1. {[
2.
3. class InternalAyarModel extends Model
4. {
5.
6. // Ayarları Çek
7. public function get(){
8. return DB::where('id', 1)->ayarlar()->row();
9. }
10.
11. // Ayarlar kayıt
12. public function save($data = null) {
13. return DB::where('id',1)->update('ignore:ayarlar', $data);
14. }
15.
16.
17. // TAblo oluşturma
18. public function createTable()
41. * protected use class name
42. *
43. * @param string $method
44. * @param array $parameters
45. *
46. * @return mixed
47. */
48. protected static function useClassName($method, $parameters)
49. {
50. return Singleton::class(INTERNAL_ACCESS . static::getClassName())->$method(...$parameters);
51. }
52. }
15. * Magic call static
16. *
17. * @param string $method
18. * @param array $parameters
19. *
20. * @return mixed
21. */
22. public static function __callStatic($method, $parameters)
23. {
24. return self::useClassName($method, $parameters);
25. }
26.
27. /**
28. * Magic call
29. *
30. * @param string $method
31. * @param array $parameters
32. *
33. * @return mixed
34. */
395. protected function _setpage($page, $viewDirectory)
396. {
397. if( ! empty($page) )
398. {
399. $return = '';
400.
401. # Single Masterpage
402. if( ! is_array($page) )
403. {
404. $return .= View::use($page, NULL, true, $viewDirectory).EOL;
405. }
406. else
407. {
408. // @codeCoverageIgnoreStart
409. # Multiple Masterpage
410. foreach( $page as $p )
411. {
412. $return .= View::use($p, NULL, true, $viewDirectory).EOL;
413. }
414. // @codeCoverageIgnoreEnd
179. $header .= $this->_contentLanguage($head['content']['language'] ?? $masterPageSet['content']['language']);
180. $header .= $this->_title($head['title'] ?? $masterPageSet["title"]);
181. $header .= $this->_meta($masterPageSet['meta'], $head['meta'] ?? NULL);
182. $header .= $this->_links($masterPageSet, $head, 'Font');
183. $header .= $this->_links($masterPageSet, $head, 'Style');
184. $header .= $this->_links($masterPageSet, $head, 'Script');
185. $header .= $this->_browserIcon($head['browserIcon'] ?? $masterPageSet["browserIcon"]);
186. $header .= $this->_theme($masterPageSet, $head);
187. $header .= $this->_theme($masterPageSet, $head, 'plugin');
188. $header .= $this->_setpage($head['headPage'] ?? $masterPageSet['headPage'], $viewDirectory);
189. $header .= ''.EOL;
190. $header .= '.Hypertext::attributes($head['attributes']['body'] ?? $masterPageSet['attributes']['body']).
191. $this->_bgImage($head['backgroundImage'] ?? $masterPageSet["backgroundImage"]).'>'.EOL;
192.
193. echo $header;
194.
195. $randomPageVariable = $head['bodyPage'] ?? $masterPageSet['bodyPage'];
196.
197. if( ! empty($randomPageVariable) )
198. {
145. // @codeCoverageIgnoreEnd
146. else
147. {
148. $this->connect = new MySQLi($host, $user, $pass, $db, $port);
149. }
150. restore_error_handler();
151.
152. if( $this->connect->connect_errno )
153. {
154. throw new ConnectionErrorException(NULL, $this->connect->connect_error); // @codeCoverageIgnore
155. }
156.
157. mysqli_report(MYSQLI_REPORT_OFF);
158.
159. if( ! empty($this->config['charset'] ) ) $this->query("SET NAMES '".$this->config['charset']."'");
160. if( ! empty($this->config['charset'] ) ) $this->query('SET CHARACTER SET '.$this->config['charset']);
161. if( ! empty($this->config['collation']) ) $this->query('SET COLLATION_CONNECTION = "'.$this->config['collation'].'"');
162. }
163.
164. /**