回答編集履歴

7

修正

2017/07/21 11:48

投稿

fagai
fagai

スコア2158

test CHANGED
@@ -159,3 +159,7 @@
159
159
  $hogeService->updateEmail($email);
160
160
 
161
161
  ```
162
+
163
+
164
+
165
+ って今気づきましたが1年越しの回答でした

6

修正

2017/07/21 11:48

投稿

fagai
fagai

スコア2158

test CHANGED
@@ -138,7 +138,11 @@
138
138
 
139
139
  ```
140
140
 
141
+ // クラスで管理している場合はメンバ変数に入れておきましょう。
142
+
143
+ // より良いのはDIコンテナなどを利用してRepositoryはDIするのが良いでしょう。
144
+
141
- $hogeService = new HogeService(new HogeRepository); // クラスで管理している場合はメンバ変数に入れておきましょう。
145
+ $hogeService = new HogeService(new HogeRepository);
142
146
 
143
147
 
144
148
 

5

修正

2017/07/21 11:40

投稿

fagai
fagai

スコア2158

test CHANGED
@@ -131,3 +131,27 @@
131
131
  }
132
132
 
133
133
  ```
134
+
135
+
136
+
137
+ メインコード
138
+
139
+ ```
140
+
141
+ $hogeService = new HogeService(new HogeRepository); // クラスで管理している場合はメンバ変数に入れておきましょう。
142
+
143
+
144
+
145
+ if ($hogeService->exitsEmail($email)) {
146
+
147
+ // メールアドレス存在してるのでエラーを返す
148
+
149
+ }
150
+
151
+
152
+
153
+ // ここはtry-catchで囲っておいても良いかもしれません
154
+
155
+ $hogeService->updateEmail($email);
156
+
157
+ ```

4

バインド修正

2017/07/21 11:38

投稿

fagai
fagai

スコア2158

test CHANGED
@@ -112,9 +112,9 @@
112
112
 
113
113
  {
114
114
 
115
- $stmt = $sql->prepare("SELECT count(*) FROM hoge WHERE mail=?");
115
+ $stmt = $sql->prepare("SELECT count(*) FROM hoge WHERE mail = :mail");
116
116
 
117
- $stmt->bind_param("s", $mail);
117
+ $stmt->bind_param("mail", $mail);
118
118
 
119
119
  $stmt->execute();
120
120
 

3

修正

2017/07/21 11:30

投稿

fagai
fagai

スコア2158

test CHANGED
@@ -1,4 +1,4 @@
1
- あくまでも私の考えになりますが、重複チェックはサービス側でやるべきです。
1
+ あくまでも私の考えになりますが、重複チェックはサービス側でやるべきです。(実際に取ってくるのはデータアクセス層ですが)
2
2
 
3
3
  また、重複チェックとUPDATEを同時にすると2つの処理をやることになってしまうので、基本的には分けるべきでしょう。(もしやる場合はDataAccess層からExceptionを投げる必要があるでしょう)
4
4
 

2

修正

2017/07/21 11:25

投稿

fagai
fagai

スコア2158

test CHANGED
@@ -90,6 +90,12 @@
90
90
 
91
91
 
92
92
 
93
+ HogeRepositoryInterface
94
+
95
+ 省略します。
96
+
97
+
98
+
93
99
  Hoge(データアクセス)
94
100
 
95
101
 

1

修正

2017/07/21 11:22

投稿

fagai
fagai

スコア2158

test CHANGED
@@ -80,6 +80,10 @@
80
80
 
81
81
  }
82
82
 
83
+
84
+
85
+ // 省略
86
+
83
87
  }
84
88
 
85
89
  ```
@@ -114,6 +118,10 @@
114
118
 
115
119
  }
116
120
 
121
+
122
+
123
+ // 省略
124
+
117
125
  }
118
126
 
119
127
  ```