改名
This commit is contained in:
@@ -766,7 +766,7 @@ abstract class BaseActiveRecord extends Component implements IOrm, \ArrayAccess
|
|||||||
*/
|
*/
|
||||||
public static function setDatabaseConnect($bsName)
|
public static function setDatabaseConnect($bsName)
|
||||||
{
|
{
|
||||||
return Snowflake::$app->{$bsName};
|
return Snowflake::get()->db->instance($bsName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -14,8 +14,10 @@ use Database\Mysql\Schema;
|
|||||||
use Database\Orm\Select;
|
use Database\Orm\Select;
|
||||||
use Exception;
|
use Exception;
|
||||||
use PDO;
|
use PDO;
|
||||||
|
use Snowflake\Config;
|
||||||
use Snowflake\Event;
|
use Snowflake\Event;
|
||||||
use Snowflake\Exception\ComponentException;
|
use Snowflake\Exception\ComponentException;
|
||||||
|
use Snowflake\Exception\ConfigException;
|
||||||
use Snowflake\Snowflake;
|
use Snowflake\Snowflake;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -185,6 +187,27 @@ class Connection extends Component
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $name
|
||||||
|
* @return Connection
|
||||||
|
* @throws ConfigException
|
||||||
|
*/
|
||||||
|
public function instance($name)
|
||||||
|
{
|
||||||
|
$config = Config::get('databases.' . $name, true);
|
||||||
|
|
||||||
|
$this->cds = $config['cds'];
|
||||||
|
$this->username = $config['username'];
|
||||||
|
$this->password = $config['password'];
|
||||||
|
|
||||||
|
$this->tablePrefix = $config['tablePrefix'];
|
||||||
|
|
||||||
|
$this->slaveConfig = $config['slaveConfig'];
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return PDO
|
* @return PDO
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
|
|||||||
@@ -0,0 +1,66 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
defined('CONNECT_HOST') or define('CONNECT_HOST', '');
|
||||||
|
defined('CONNECT_USER') or define('CONNECT_USER', '');
|
||||||
|
defined('CONNECT_PASS') or define('CONNECT_PASS', '');
|
||||||
|
|
||||||
|
return [
|
||||||
|
'cache' => [
|
||||||
|
|
||||||
|
'file' => [
|
||||||
|
'path' => strpos(null, 'data')
|
||||||
|
],
|
||||||
|
|
||||||
|
'redis' => [
|
||||||
|
'host' => '127.0.0.1',
|
||||||
|
'port' => '6379',
|
||||||
|
'prefix' => 'cache_',
|
||||||
|
'auth' => '',
|
||||||
|
'databases' => '0',
|
||||||
|
'timeout' => -1,
|
||||||
|
'read_timeout' => -1,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'databases' => [
|
||||||
|
'db' => [
|
||||||
|
'id' => 'db',
|
||||||
|
'cds' => 'mysql:dbname=aircraftwar;host=' . CONNECT_HOST,
|
||||||
|
'username' => CONNECT_USER,
|
||||||
|
'password' => CONNECT_PASS,
|
||||||
|
'tablePrefix' => 'aircraftwar_',
|
||||||
|
'maxNumber' => 100,
|
||||||
|
'slaveConfig' => [
|
||||||
|
'cds' => 'mysql:dbname=aircraftwar;host=' . CONNECT_HOST,
|
||||||
|
'username' => CONNECT_USER,
|
||||||
|
'password' => CONNECT_PASS
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'server' => [
|
||||||
|
'id' => 'server',
|
||||||
|
'cds' => 'mysql:dbname=server;host=' . CONNECT_HOST,
|
||||||
|
'username' => CONNECT_USER,
|
||||||
|
'password' => CONNECT_PASS,
|
||||||
|
'tablePrefix' => 'master_',
|
||||||
|
'maxNumber' => 100,
|
||||||
|
'slaveConfig' => [
|
||||||
|
'cds' => 'mysql:dbname=server;host=' . CONNECT_HOST,
|
||||||
|
'username' => CONNECT_USER,
|
||||||
|
'password' => CONNECT_PASS
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'game' => [
|
||||||
|
'id' => 'game',
|
||||||
|
'cds' => 'mysql:dbname=game;host=' . CONNECT_HOST,
|
||||||
|
'username' => CONNECT_USER,
|
||||||
|
'password' => CONNECT_PASS,
|
||||||
|
'maxNumber' => 100,
|
||||||
|
'tablePrefix' => 'game_',
|
||||||
|
'slaveConfig' => [
|
||||||
|
'cds' => 'mysql:dbname=game;host=' . CONNECT_HOST,
|
||||||
|
'username' => CONNECT_USER,
|
||||||
|
'password' => CONNECT_PASS
|
||||||
|
],
|
||||||
|
],
|
||||||
|
]
|
||||||
|
];
|
||||||
@@ -15,6 +15,7 @@ use HttpServer\Http\Response;
|
|||||||
use HttpServer\Route\Router;
|
use HttpServer\Route\Router;
|
||||||
use HttpServer\Server;
|
use HttpServer\Server;
|
||||||
use Snowflake\Annotation\Annotation;
|
use Snowflake\Annotation\Annotation;
|
||||||
|
use Snowflake\Cache\Redis;
|
||||||
use Snowflake\Config;
|
use Snowflake\Config;
|
||||||
use Snowflake\Di\Service;
|
use Snowflake\Di\Service;
|
||||||
use Snowflake\Error\ErrorHandler;
|
use Snowflake\Error\ErrorHandler;
|
||||||
@@ -26,6 +27,8 @@ use Snowflake\Pool\RedisClient;
|
|||||||
use Snowflake\Processes;
|
use Snowflake\Processes;
|
||||||
use Snowflake\Snowflake;
|
use Snowflake\Snowflake;
|
||||||
use Snowflake\Event;
|
use Snowflake\Event;
|
||||||
|
use Database\Connection as DbConnection;
|
||||||
|
use Snowflake\Pool\Pool as SPool;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class BaseApplication
|
* Class BaseApplication
|
||||||
@@ -35,8 +38,9 @@ use Snowflake\Event;
|
|||||||
* @property Event $event
|
* @property Event $event
|
||||||
* @property Router $router
|
* @property Router $router
|
||||||
* @property Processes $processes
|
* @property Processes $processes
|
||||||
* @property \Snowflake\Pool\Pool $pool
|
* @property SPool $pool
|
||||||
* @property Server $servers
|
* @property Server $servers
|
||||||
|
* @property DbConnection $db
|
||||||
* @property Connection $connections
|
* @property Connection $connections
|
||||||
* @property Logger $logger
|
* @property Logger $logger
|
||||||
*/
|
*/
|
||||||
@@ -204,6 +208,15 @@ abstract class BaseApplication extends Service
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return mixed
|
||||||
|
* @throws ComponentException
|
||||||
|
*/
|
||||||
|
public function getRedis()
|
||||||
|
{
|
||||||
|
return $this->get('redis');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param $ip
|
* @param $ip
|
||||||
* @return bool
|
* @return bool
|
||||||
@@ -223,14 +236,16 @@ abstract class BaseApplication extends Service
|
|||||||
'event' => ['class' => Event::class],
|
'event' => ['class' => Event::class],
|
||||||
'annotation' => ['class' => Annotation::class],
|
'annotation' => ['class' => Annotation::class],
|
||||||
'processes' => ['class' => Processes::class],
|
'processes' => ['class' => Processes::class],
|
||||||
|
'db' => ['class' => DbConnection::class],
|
||||||
'connections' => ['class' => Connection::class],
|
'connections' => ['class' => Connection::class],
|
||||||
'redis_connections' => ['class' => RedisClient::class],
|
'redis_connections' => ['class' => RedisClient::class],
|
||||||
'pool' => ['class' => \Snowflake\Pool\Pool::class],
|
'pool' => ['class' => SPool::class],
|
||||||
'response' => ['class' => Response::class],
|
'response' => ['class' => Response::class],
|
||||||
'request' => ['class' => Request::class],
|
'request' => ['class' => Request::class],
|
||||||
'config' => ['class' => Config::class],
|
'config' => ['class' => Config::class],
|
||||||
'logger' => ['class' => Logger::class],
|
'logger' => ['class' => Logger::class],
|
||||||
'router' => ['class' => Router::class],
|
'router' => ['class' => Router::class],
|
||||||
|
'redis' => ['class' => Redis::class],
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+18
-7
@@ -12,6 +12,7 @@ use Exception;
|
|||||||
use Snowflake\Abstracts\Component;
|
use Snowflake\Abstracts\Component;
|
||||||
use Snowflake\Config;
|
use Snowflake\Config;
|
||||||
use Snowflake\Event;
|
use Snowflake\Event;
|
||||||
|
use Snowflake\Exception\ConfigException;
|
||||||
use Snowflake\Snowflake;
|
use Snowflake\Snowflake;
|
||||||
use Swoole\Coroutine;
|
use Swoole\Coroutine;
|
||||||
|
|
||||||
@@ -331,17 +332,27 @@ class Redis extends Component
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @return array
|
* @return array
|
||||||
|
* @throws ConfigException
|
||||||
*/
|
*/
|
||||||
public function get_config(): array
|
public function get_config(): array
|
||||||
{
|
{
|
||||||
|
$config = Config::get('cache.redis', false, [
|
||||||
|
'host' => '127.0.0.1',
|
||||||
|
'port' => '6379',
|
||||||
|
'prefix' => Config::get('id'),
|
||||||
|
'auth' => '',
|
||||||
|
'databases' => '0',
|
||||||
|
'timeout' => -1,
|
||||||
|
'read_timeout' => -1,
|
||||||
|
]);
|
||||||
return [
|
return [
|
||||||
'host' => env('REDIS.HOST', $this->host),
|
'host' => $config['host'],
|
||||||
'port' => env('REDIS.PORT', $this->port),
|
'port' => $config['port'],
|
||||||
'auth' => env('REDIS.PASSWORD', $this->auth),
|
'auth' => $config['auth'],
|
||||||
'timeout' => env('REDIS.TIMEOUT', 2),
|
'timeout' => $config['conn_timeout'],
|
||||||
'databases' => env('REDIS.DATABASE', $this->databases),
|
'databases' => $config['databases'],
|
||||||
'read_timeout' => env('REDIS.READ_TIMEOUT', 10),
|
'read_timeout' => $config['read_timeout'],
|
||||||
'prefix' => env('REDIS.PREFIX', 'system:'),
|
'prefix' => $config['prefix'],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user