質問: Laravel5.6 でコードを書いています。 Laravelというか、PHPの質問になるのかもしれないのですが(そこがわかってないのですが)、Laravelの流儀では共通する処理はどこに切り出して書くのかを知りたいです。 例えば、ページのあるボタンを押すと、 ``` function1 「外部のAPIを読んで値を取得してデータベースに格納する」 ``` という処理(関数)があったとします。 これを実現するためにGETで受け取り、Controllerで処理(=function1)して、Viewに返すという一連の処理を書くことは問題ありません。 ですが、他のViewでも同じボタンがあった場合、現状では同じコード function1 をまた別のControllerに書いています。 さらにボタンクリックではなく毎日1回、同じ処理をすることになった場合は、Console\Kernel.php にまた同じ処理 function1 を書いています。 このように function1 をコピーして貼り付けて問題なく動いているのですが、明らかにスマートではありません。 こうした場合、どこに、どのように切り出すのが良いのでしょうか? ググるにしてもどう探っていくのかわからず、ヒントでもいただけるととても助かりますm(_ _)m 追記: LaravelとはいってもPHPプログラムの一種なので究極的には、好き勝手に何でも書けるということだと思うのですが、例えば app配下に○○を追加 とか Middlewareは○○の役割 とか、○○ならServiceProviderに追加とか、拡張機能なら ○○フォルダ配下 とか、この辺りの理解を深めたいと思っています。 artisanコマンドで Model等 の追加はよく行っていますが、共通処理の切り出しで使えるコマンドがある、とかでも。
回答: 解決というわけではないのですが、当面は以下のようにすることにしました。 なるべく artisanコマンド を使う (好き勝手に追加するよりは、Laravelの流儀に沿うかなと) 今回のケースだと、make:modelでモデル追加。 また根本的な理解をするために、海外のサイトやソースコードを見てフレームワークそのものをもう少し勉強します。 ご回答いただいた方、まことにありがとうございます。