2017-01-03 44 views
0

我需要延伸Illuminate\Database\SqlServerConnection覆蓋一個功能。我試圖創建自己的DatabaseServiceProvider,把一個使用App\Libraries\Extensions\Connectors\ConnectionFactory但ConnectionFactory是不超載,不僅DatabaseServiceProvider從Laravel 5核延伸 - SqlServerConnection

回答

0

的​​方法所做的第一件事就是檢查db.connection.{$driver}別名綁定,如果是這樣,它返回連接對象。如果未綁定,則返回基礎連接對象(sqlsrv驅動程序的Illuminate\Database\SqlServerConnection)。

因此,您只需使用自己的自定義連接即可將db.connection.sqlsrv別名綁定到您的自定義SqlServerConnection類。你可以在shiftonelabs/laravel-nomad包中看到這個例子(完全公開:由我撰寫)。

您可以創建在做這個新的服務提供商,或者你可以添加一行到現有AppServiceProvider

class AppServiceProvider extends ServiceProvider 
{ 
    public function register() 
    { 
     $this->app->bind('db.connection.sqlsrv', 'Your\Custom\SqlServerConnection'); 
    } 
}