色んなクラスや関数でdsn、userを何回も定義しているのが気になります。どこかのクラス、もしくは定数として1箇所に定義して、それを参照するような形式にした方がよいと思います。