質問編集履歴
1
コード修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -50,24 +50,39 @@
|
|
50
50
|
### 私の場合
|
51
51
|
私は独学で素人で(なのでここでやり方を述べるのは恐縮ですが)、これまで「基本はBでまとめるけど、関数が長くなりすぎたらAで分ける」というなんとなくな方法でした。
|
52
52
|
|
53
|
-
または次のような感じで、Aのように分けると、引数のキーが`$args = ['id'=>1',name'=>'a','age'=>20,,,,]` などと多いときに同じ展開処理が複数の関数で重複するため、これを嫌ってBでまとめる
|
53
|
+
または次のような感じで、Aのように分けると、引数のキーが`$args = ['id'=>1',name'=>'a','age'=>20,,,,]` などと多いときに同じ展開処理が複数の関数で重複するため、これを嫌ってBでまとめること多いです。(PHPなら`extract`がありますが、どの変数が`extract`で展開されたものなのかわかりにくいので使いたくない派です。)
|
54
|
-
|
55
54
|
|
56
55
|
```php
|
56
|
+
// A:機能ごとに関数を分ける
|
57
57
|
function insert_row( $args ){
|
58
|
+
// ここでも展開
|
58
59
|
$id = $args['id'];
|
59
60
|
$name = $args['name'];
|
60
61
|
$age = $args['age'];
|
61
62
|
}
|
62
63
|
function delete_row( $args ){
|
64
|
+
// ここでも展開
|
63
65
|
$id = $args['id'];
|
64
66
|
$name = $args['name'];
|
65
67
|
$age = $args['age'];
|
66
68
|
}
|
67
69
|
function update_row( $args ){
|
70
|
+
// ここでも展開
|
68
71
|
$id = $args['id'];
|
69
72
|
$name = $args['name'];
|
70
73
|
$age = $args['age'];
|
71
74
|
}
|
75
|
+
|
76
|
+
// B:機能を引数で渡して分岐し関数はまとめる
|
77
|
+
function apply_row( $type, $args ){
|
78
|
+
// 展開がこの1回で済む
|
79
|
+
$id = $args['id'];
|
80
|
+
$name = $args['name'];
|
81
|
+
$age = $args['age'];
|
82
|
+
|
83
|
+
if( $type === 'insert' ){}
|
84
|
+
else if( $type === 'delete' ){}
|
85
|
+
else if( $type === 'update' ){}
|
86
|
+
}
|
72
87
|
```
|
73
88
|
AとBの使い分けについて、統一的なルールや一般的な慣習や個人的なご意見など、幅広くお聞かせいただければ幸いです。よろしくお願い致します。
|