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] ?? '';
        
201.     // Galeri Kayıt
202.     public function saveGaleri($data)
203.     {
204.         return DB::insert("ignore:urun_galeri", $data);
205.     }
206. 
207.     // Galeri ÇEk
208.     public function getGaleri($id = 0)
209.     {
210.         return DB::orderBy('sira', 'ASC')->where('urun_id', $id)->urun_galeri()->result();
211.     }
212. 
213.     // Resim Sor
214.     public function resimSor($id)
215.     {
216.         return DB::where('id', $id)->urun_galeri()->row();
217.     }
218. 
219.     // Tekil REsim Sil
220.     public function deleteImage($id)
        
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.      */
        
116.    $baslik= "name_".Lang::get();
117.    $cat_name = "catName_".Lang::get();
118.    $icerik = "icerik_".Lang::get();
119.    $slug = "slug_tr";
120.    $catlist = CategoryModel::getMainCategories();
121.    if(Lang::get() != "tr"){
122.      $slug = "slug_en";
123.    }
124. 
125.    $galeri = ProductModel::getGaleri($sor->productID);
126.      View::page("urunler/urundetay");
127.      View::data($sor);
128.      View::catlist($catlist);
129. 
130.      View::baslik($sor->$baslik);
131.      View::icerik($sor->$icerik);
132.      View::galeri($galeri);
133.      $ayar = AyarModel::get();
134. 
135. 
        
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.     /**