Как переписать метод DatabaseManager laravel - PullRequest
1 голос
/ 08 ноября 2019

В поставщике / laravel / framework / src / Illuminate / Database / DatabaseManager.php есть метод

/**
 * Parse the connection into an array of the name and read / write type.
 *
 * @param  string  $name
 * @return array
 */
protected function parseConnectionName($name)
{
    $name = $name ?: $this->getDefaultConnection();

    return Str::endsWith($name, ['::read', '::write'])
                        ? explode('::', $name, 2) : [$name, null];
}

Если я хочу перезаписать этот метод, как бы я это сделал?

1 Ответ

2 голосов
/ 08 ноября 2019

Поскольку этот метод защищен, вы должны создать класс, который расширяет Illuminate\Database\DatabaseManager в вашей папке app, и переопределить эту функцию своим собственным

. Затем внедрить свой пользовательский класс в контейнер, привязавсинглтон

$this->app->bind('Illuminate\Database\DatabaseManager', function () {
    return new App\CustomClass;
});

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...