表題の通りです。 なぜ PHP 標準関数の date ではなく Carbon を使うのか?を順を追って説明します。 答え 結論から先に述べておくと、Carbon を使う最も高いモチベーションは、UnitTest の際に副作用が生じる。モック化して副作用を消したいが、モック化 するのが難しいからです。 どういうことか説明していきます。 修正前コード 以下は実際にdateを使っているクラスの例です。 <?php namespace App\Services\Programs; use App\Models\Notifyprogram; use App\Models\Personality; use App\Models\Program; class ProgramService { //中略 /** * 曜日を返す. * * @return array */ public function g
![なぜPHP標準関数のdateではなくCarbonを使うのか?](https://cdn-ak-scissors.b.st-hatena.com/image/square/66de8c340273e030cf715dfe477259ffa5672eda/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--fpDip0-n--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3A%2525E3%252581%2525AA%2525E3%252581%25259CPHP%2525E6%2525A8%252599%2525E6%2525BA%252596%2525E9%252596%2525A2%2525E6%252595%2525B0%2525E3%252581%2525AEdate%2525E3%252581%2525A7%2525E3%252581%2525AF%2525E3%252581%2525AA%2525E3%252581%25258FCarbon%2525E3%252582%252592%2525E4%2525BD%2525BF%2525E3%252581%252586%2525E3%252581%2525AE%2525E3%252581%25258B%2525EF%2525BC%25259F%252Cw_1010%252Cx_90%252Cy_100%2Fco_rgb%3A6e7b85%252Cg_south_west%252Cl_text%3Anotosansjp-medium.otf_30%3Ablessing%252520software%252520KOBE%252Cx_220%252Cy_160%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_34%3AKanon%252Cx_220%252Cy_108%2Fbo_3px_solid_rgb%3Ad6e3ed%252Cg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzZmNTBmZjE4OWMuanBlZw%3D%3D%252Cr_20%252Cw_90%252Cx_92%252Cy_102%2Fbo_4px_solid_white%252Cg_south_west%252Ch_50%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2U2MWQ5MmViYmQuanBlZw%3D%3D%252Cr_max%252Cw_50%252Cx_139%252Cy_84%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png)