回答編集履歴

2

表現を具体的に調整

2019/06/13 14:01

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -18,14 +18,32 @@
18
18
 
19
19
  当月の時は$year,$monthがURLパラメータに設定されないときとかもあるでしょう。
20
20
 
21
- Laravelには必須パラメータと任意パラメータがありますし。
21
+ Laravelのルーティングには必須パラメータと任意パラメータがありますし。
22
22
 
23
23
  初期当月とするのであればパラメータに何も指定しない(URLがキレイだから)という仕様にすることもあります。
24
24
 
25
+ URLパラメータでなくても入力値でカレンダーを作りたい時もあります。
26
+
25
- そういときに引数で渡す際にデフォルトで当月の$year,$monthを渡しておき、それ以外は渡されたパラメータをセットすれば任意の月のカレンダーを作れます。
27
+ そういときに引数で渡す際にデフォルトで当月の$year,$monthを渡しておき、それ以外は渡されたパラメータをセットすれば任意の月のカレンダーを作れます。
26
28
 
27
29
 
28
30
 
29
31
  CarbonでなくてもLaravelでなくても、PHPでなくても、考え方は同じです。
30
32
 
31
- **任意の月のカレンダーを作るために**引数は必要です。
33
+ **任意の月のカレンダーを作るために**必要な引数です。
34
+
35
+
36
+
37
+ 常に当月だけで良いなら引数と$dateStrを作る処理は不要かもしれませんが
38
+
39
+ 変更が発生しないシステムは存在しないと言っても良いので、引数により作るようにしておけば
40
+
41
+ 変更に強い実装となります。
42
+
43
+
44
+
45
+ ※この考え方はカレンダーに限らず様々な場面で使えます。
46
+
47
+ 「これしかない」前提で作るとどんどんファットでスパゲッティなコードになっていきます。
48
+
49
+ 役割分担の考え方です。1つの機能で短い記述でなるべく多くの仕事をこなせたほうがコードはスッキリします。

1

修正

2019/06/13 14:01

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- > $date = new Carbon();こちらのようにカーボンインスタンスを作成すれば
5
+ > $date = new Carbon();こちらのようにカーボンインスタンスを作成すれば現在の日付が取得できる
6
6
 
7
7
 
8
8
 
@@ -18,10 +18,14 @@
18
18
 
19
19
  当月の時は$year,$monthがURLパラメータに設定されないときとかもあるでしょう。
20
20
 
21
+ Laravelには必須パラメータと任意パラメータがありますし。
22
+
23
+ 初期当月とするのであればパラメータに何も指定しない(URLがキレイだから)という仕様にすることもあります。
24
+
21
- そいときに引数で渡す際にデフォルトで当月の$year,$monthを渡しておき、それ以外は渡されたパラメータをセットすれば任意の月のカレンダーを作れます。
25
+ いときに引数で渡す際にデフォルトで当月の$year,$monthを渡しておき、それ以外は渡されたパラメータをセットすれば任意の月のカレンダーを作れます。
22
26
 
23
27
 
24
28
 
25
29
  CarbonでなくてもLaravelでなくても、PHPでなくても、考え方は同じです。
26
30
 
27
- **任意の月のカレンダーを作るために**引数があります。
31
+ **任意の月のカレンダーを作るために**引数は必要です。