teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

加筆

2021/03/04 09:55

投稿

退会済みユーザー
answer CHANGED
@@ -24,4 +24,29 @@
24
24
  }
25
25
 
26
26
  ```
27
- で、search()に該当する処理ももし長く感じるなら区切ってもいいかもしれませんし。
27
+ で、search()に該当する処理ももし長く感じるなら区切ってもいいかもしれませんし。
28
+
29
+ 関数として切り離すと、変数のスコープの影響も出てくるため、
30
+ 必要に応じて関数の引数として与えることも忘れずに。
31
+
32
+ あと、この箇所は私ならこう直す。
33
+
34
+ ```php
35
+ $sql = 'SELECT product.id, name, price, img, status, stock
36
+ FROM product
37
+ JOIN item_stock
38
+ ON product.id = item_stock.stock_id
39
+ WHERE name like ?';
40
+ ```
41
+
42
+ ```php
43
+ $sql = <<<EOT
44
+ SELECT product.id, name, price, img, status, stock
45
+ FROM product
46
+ JOIN item_stock ON product.id = item_stock.stock_id
47
+ WHERE name like ?
48
+ EOT;
49
+ ```
50
+ [ヒアドキュメント構文](https://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.heredoc)と言います。
51
+ 変更前の`$sql`には、インデントしたスペースやタブコードも混ざってしまっちゃうので。
52
+ 別に混ざっていても動くことは動くんですが、全角空白の紛れ込みの予防にもなるので。

1

見直し

2021/03/04 09:55

投稿

退会済みユーザー
answer CHANGED
@@ -4,6 +4,16 @@
4
4
  ```php
5
5
  <?php
6
6
 
7
+ function search()
8
+ {
9
+ // ~
10
+ }
11
+
12
+ function list()
13
+ {
14
+ // ~
15
+ }
16
+
7
17
  // ユーザーが検索した場合の処理
8
18
  if (isset($_POST['keyword']) === TRUE && mb_strlen ($_POST['keyword']) > 0) {
9
19
  //
@@ -13,13 +23,5 @@
13
23
  list();
14
24
  }
15
25
 
16
- function search()
17
- {
18
- // ~
19
- }
20
-
21
- function list()
22
- {
23
- // ~
24
- }
25
- ```
26
+ ```
27
+ で、search()に該当する処理ももし長く感じるなら区切ってもいいかもしれませんし。