PluginProbe
گیت‌لند | درگاه پرداخت هوشمند گیت‌لند / 2.3.1
گیت‌لند | درگاه پرداخت هوشمند گیت‌لند v2.3.1
trunk 1.9.9 2.1.0 2.1.1 2.3.1
gateland / utils / class-database.php

class-database.php in گیت‌لند | درگاه پرداخت هوشمند گیت‌لند 2.3.1, at utils/class-database.php

66 lines 1.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 use Illuminate\Container\Container;
4 use Illuminate\Database\ConnectionInterface;
5 use Illuminate\Database\ConnectionResolver;
6 use Illuminate\Database\Connectors\ConnectionFactory;
7 use Illuminate\Database\Eloquent\Model;
8 use Illuminate\Database\Schema\Builder;
9
10 defined( 'ABSPATH' ) || exit;
11
12 if ( ! class_exists( 'Nabik_Net_Database' ) ) {
13
14 /**
15 * Class Nabik_Net_Database
16 *
17 * @author Nabik
18 */
19 class Nabik_Net_Database {
20
21 const VERSION = '1.0.2';
22
23 public function __construct() {
24 global $wpdb;
25
26 if ( ! is_null( Model::getConnectionResolver() ) ) {
27 return;
28 }
29
30 $settings = [
31 'driver' => 'mysql',
32 'host' => DB_HOST,
33 'database' => DB_NAME,
34 'username' => DB_USER,
35 'password' => DB_PASSWORD,
36 'charset' => DB_CHARSET,
37 'prefix' => $wpdb->prefix,
38 ];
39
40 if ( DB_COLLATE ) {
41 $settings['collation'] = DB_COLLATE;
42 }
43
44 $conn = ( new ConnectionFactory( new Container() ) )->make( $settings );
45
46 $resolver = new ConnectionResolver();
47 $resolver->addConnection( 'wpdb', $conn );
48 $resolver->setDefaultConnection( 'wpdb' );
49
50 Model::setConnectionResolver( $resolver );
51
52 self::Schema()::defaultStringLength( 191 );
53 }
54
55 public static function DB(): ConnectionInterface {
56 return Model::getConnectionResolver()->connection();
57 }
58
59 public static function Schema(): Builder {
60 return self::DB()->getSchemaBuilder();
61 }
62
63 }
64
65 new Nabik_Net_Database();
66 }