のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:126,369,383人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレ【PHP】Laravel【フレームワーク】 Part.6

    php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    251 : nobodyさん - 2021/06/10(木) 15:06:52.90 ID:???.net (+32,+29,-26)
    >>250
    多分日本語で書いてあっても読まないだろうな
    252 : nobodyさん - 2021/06/10(木) 15:18:37.90 ID:???.net (-29,-29,-56)
    だってAllowed memory size of 2097152 bytes exhaustedとか出るけど増やしても増やしても解決しないんだぜ
    読んで対応したぐらいで解決してりゃ誰も苦労しないよ
    253 : nobodyさん - 2021/06/10(木) 15:42:14.81 ID:???.net (-28,-29,-44)
    >>244
    githubにアップされてるLaravelベストプラクティスを読めば良いぞ。
    256 : nobodyさん - 2021/06/10(木) 16:33:13.00 ID:???.net (-27,-30,-70)
    うちの場合はServer error: `GEThttp://cabinet.laravel.com/latest.zip` resulted in a `522 Origin Connection Time-out` response:
    だったけど、ぐぐって出た対策じゃ解決しなかった。タイムアウトとか言われてもどうしたらいいんだよ。
    257 : nobodyさん - 2021/06/10(木) 20:26:57.37 ID:???.net (+33,+24,-11)
    お前らのためにベストプラクティス貼ってやるよ
    http://github.com/alexeymezenin/laravel-best-practices/blob/master/japanese.md
    258 : nobodyさん - 2021/06/10(木) 20:35:58.99 ID:???.net (+17,+10,-17)
    >>257
    バリデーションはモデルでやれよ
    Requestでやるとバッチ処理の時に困るぞ
    259 : nobodyさん - 2021/06/10(木) 20:41:48.68 ID:???.net (+30,+29,-14)
    >>258
    前もそれ書いてたよね。Laravelエアプかよ。
    261 : nobodyさん - 2021/06/11(金) 08:41:44.66 ID:???.net (+18,+29,-28)
    >>260
    そりゃそうよ。まぁtailwindCSS使った方が楽なことが多いから。アホみたいにCSS設計とか命名規約とかに無駄な時間使うことも無くなるし。
    262 : nobodyさん - 2021/06/11(金) 09:03:48.83 ID:???.net (+33,+29,-13)
    前に書いてたから何なんだ?
    エアプって何?
    言いたいことがあるなら普通に言えよ
    263 : nobodyさん - 2021/06/11(金) 09:26:23.73 ID:???.net (+42,+29,-166)
    >>262
    Laravelのフォームリクエストは、外部からの入力を検証するための機構だからモデルでやれって主張はアホすぎるってこと。MVCでは、入力値の検査はコントローラーの責務。

    RailsとかがModelで検査してるのは、MVCよりActiveRecordのルールを優先した結果に過ぎない。

    そもそも画面やAPIからの入力とバッチの入力のバリデーション仕様が同じになるケースなんてまず無いと思うんだけど?

    誰にも相手にされなかった主張を、また繰り返すのはやめたほうが良いぞ。
    265 : nobodyさん - 2021/06/11(金) 09:59:29.37 ID:???.net (-3,+0,-20)
    Cakeだとバリデーションはモデルに書いてたけど、Laravelではダメなん?
    266 : nobodyさん - 2021/06/11(金) 10:03:18.73 ID:???.net (+31,+29,-76)
    >そもそも画面やAPIからの入力とバッチの入力のバリデーション仕様が同じになるケースなんてまず無いと思うんだけど?

    え、そんなことはなくない?
    1つのテーブルにデータを追加するシンプルな要件だと、WebからフォームをPOSTしてもバッチで追加してもルールは一緒になるだろう
    エラーメッセージの出し方とかは異なると思うけども、バリデーターをそれぞれ別に書いたりはしないと思う
    267 : nobodyさん - 2021/06/11(金) 10:41:07.56 ID:???.net (+17,+27,-17)
    >>260
    どのフレームワークを使うか選択できなかったっけ?
    268 : nobodyさん - 2021/06/11(金) 10:47:54.80 ID:???.net (+27,+29,-10)
    モデルに紐付かないバリデーションはどこに書けばいいですか?
    269 : nobodyさん - 2021/06/11(金) 10:51:50.88 ID:???.net (-15,-8,+0)
    コントローラー
    270 : nobodyさん - 2021/06/11(金) 11:20:17.41 ID:???.net (+33,+30,-39)
    議論する際「どこでやるか」と「どこに書くか」を混同しないようにしないといかんな。
    モデルに書いてもリクエストに書いても、流れ上は「コントローラーでやる」と言っても間違いではない。
    271 : nobodyさん - 2021/06/11(金) 11:30:29.65 ID:???.net (+27,+29,-35)
    議論するなら、「俺はAに書いてる。なぜなら○○だからだ。Bに書くと○○で駄目だ」
    って理由まで答えないと成立しないけどな
    272 : nobodyさん - 2021/06/11(金) 11:44:57.48 ID:???.net (+35,+29,-72)
    >>269
    268です。ありがとうございます。
    ちなみにそれだと、
    Aというルートではコントローラーにバリデーションを書き、
    Bというルートではモデルにバリデーション書く、
    というようにバラバラになってしまうんですが、気にしないほうが良いのでしょうか?
    それとも一律コントローラーに書くほうが良いのでしょうか?
    273 : nobodyさん - 2021/06/11(金) 11:52:58.61 ID:???.net (-27,-29,-88)
    >>264
    例えばLivewireだとViewModelでやる。

    >>265
    フレームワークの仕様による。LaravelはController。

    >>266
    どういうバッチを想定している?ファイルから一括でデータを投入するみたいなやつ?
    274 : nobodyさん - 2021/06/11(金) 12:04:14.61 ID:???.net (+32,+29,-3)
    >>270
    それが許されるなら何でもありですがな
    275 : nobodyさん - 2021/06/11(金) 12:17:46.77 ID:???.net (+38,+29,-136)
    バリデーションのルールをコントローラーに直書きするのがよくないと思う
    使い回したりメンテしやすいよう別の場所に出して、コントローラーはそれを呼び出すだけにしたい
    じゃあどこに書くか?となると多分モデルなんだが、LaravelのRequestに書く仕様はちょっとビックリした
    一見理に適っていて便利でもあるけど、既出の通りコマンドから同じバリデーションを実行する場合は一工夫必要になる
    276 : nobodyさん - 2021/06/11(金) 12:33:09.21 ID:???.net (+30,+29,-11)
    >>275
    コントローラーのメソッドから呼び出すのは良くて、コマンドのメソッドから呼び出すのが良くない理由もお願いします。
    277 : nobodyさん - 2021/06/11(金) 12:41:21.43 ID:???.net (+1,+3,-26)
    リクエストのrules()メソッドにルールがまとまって、コントローラーとかにルールが散らばらなくてメンテしやすいと思うけどなあ
    278 : nobodyさん - 2021/06/11(金) 13:04:31.37 ID:???.net (+27,+29,-26)
    お前ら細けえな
    好きなように書けよ
    どうせ誰もメンテしなくなるんだし
    バリデーションなんて動けばいい
    279 : nobodyさん - 2021/06/11(金) 13:14:26.50 ID:???.net (-22,-29,-26)
    >>276
    コマンドからはFormRequestなんて使わないから
    呼び出したくても呼び出せないぞ

    とは言え、rulesはpublicだしどうしようもないわけではない
    うまくやれば共通化もできるかもしれない
    280 : nobodyさん - 2021/06/11(金) 13:15:28.69 ID:???.net (+27,+29,+0)
    >>272
    そうだねそうなるよ
    281 : nobodyさん - 2021/06/11(金) 13:15:52.15 ID:???.net (+33,+29,-9)
    >>263
    逆にフォームからとバッチからでバリデーションルールが異なるケースってどんな時だよ
    そんなの見た事ないわ
    282 : nobodyさん - 2021/06/11(金) 13:27:07.72 ID:???.net (+33,+29,-24)
    コントローラにバリデーションルールダラダラ書いたコード納品されたら俺だったらキレるわ
    283 : nobodyさん - 2021/06/11(金) 13:46:10.64 ID:???.net (+30,+29,-130)
    メンテしない案件でも納品直前に「やっぱりパスワードの文字数○○文字以上に変えてくれ」なんて依頼よくあるからなあ
    「空の時に表示が崩れる」という理由で本来必須じゃなかった項目をrequiredに変えたり
    クライアントは馬鹿だから色々予期せぬ事が起こる
    284 : nobodyさん - 2021/06/11(金) 14:44:13.29 ID:???.net (+32,+29,-4)
    >>282
    じゃあ今度からはモデルにルール書くね
    285 : nobodyさん - 2021/06/11(金) 16:02:51.40 ID:???.net (+27,+29,-21)
    メンテ=他人に見せることばかり考えてるやついるな
    メンテは自分が見てわかりやすくするためのものでもあるだろ
    好きなように書いてて、半年後に見ても思い出せるのかよ
    286 : nobodyさん - 2021/06/11(金) 17:22:45.42 ID:???.net (+27,+29,-33)
    Laravelってバリデーションどこに書くかでも大論争になるんですね
    Symfony選んどいてよかった
    287 : nobodyさん - 2021/06/11(金) 18:26:53.59 ID:???.net (+26,+28,-17)
    laravel使いは年収低いから仕方ない
    288 : nobodyさん - 2021/06/11(金) 18:35:08.68 ID:???.net (+22,+29,-7)
    年収高い言語だと論争が起きないの?
    289 : nobodyさん - 2021/06/11(金) 18:53:53.69 ID:???.net (+27,+29,-9)
    言うほど大論争になってるか?
    ボケがツッコまれてるだけやろ
    290 : nobodyさん - 2021/06/11(金) 20:04:20.61 ID:???.net (-1,+0,-32)
    Requestでバリデーションする方が分離されるから個人的には好きだけどね
    モデルでやるとかは無いわw
    291 : nobodyさん - 2021/06/11(金) 21:33:26.10 ID:???.net (+33,+30,-128)
    間違ってたら考えを改めたいから言って欲しいんだけど
    何でFormRequestがやってるバリデーションって入力された値が想定してる値かってバリデーションなので
    その先にあるであろうテーブルとかを考慮しちゃいけないものだと思ってる
    例えば同じテーブルに入力されるデータでも管理者権限と一般ユーザー権限でバリデーションルール変えたいってケースなんてザラだし
    モデルに入力される値のバリデーションは持てるの担当範囲外でその担当は
    おそらくバックエンドにあるデータベースが受け持ってて入力値が正しくない場合
    Exceptionって形で戻してるって解釈してる
    違うかな
    292 : nobodyさん - 2021/06/11(金) 23:56:27.97 ID:???.net (+23,+25,-13)
    フレームワークなのに決まってないのかよ
    293 : nobodyさん - 2021/06/12(土) 00:03:21.17 ID:???.net (+33,+29,-9)
    バッチ処理のことを考慮したらFormRequestクラス使うのはありえないんだけどね
    ここはレベルが低いからそこまで理解できないらしい
    294 : nobodyさん - 2021/06/12(土) 00:03:33.13 ID:???.net (+27,+29,-9)
    今日もクソ暑い 毎年思うんだけどなんか1年のうちで暑くなる時期あるよな
    295 : nobodyさん - 2021/06/12(土) 00:05:27.36 ID:???.net (+32,+29,-43)
    >>293
    正直俺もFormRequest使ってるぜってどや顔でこのスレの住人に言われたときは愕然としたな
    バッチ処理何も考慮してないよな こいつらマジでバッチ処理どうやってるんだろうか
    296 : nobodyさん - 2021/06/12(土) 01:33:16.00 ID:???.net (+27,+29,-10)
    いうほどバッチ処理なんてあるか?
    なんの処理を気にしてるわけ?
    297 : nobodyさん - 2021/06/12(土) 01:34:05.27 ID:???.net (+33,+29,-10)
    バッチ処理なんてそもそも間違った入力を渡す事なんか無いやろw
    頭悪すぎwwwwwwwwwwwwwwwwwww
    298 : nobodyさん - 2021/06/12(土) 02:01:48.82 ID:???.net (+32,+29,-4)
    >>297
    こういうやつの為に、バッチにもバリデーションが必要なんだよな。
    299 : nobodyさん - 2021/06/12(土) 02:04:17.91 ID:???.net (+32,+29,-95)
    >> 297
    バッチ処理で間違った入力がされない保証が100%じゃない限り、本来ならバリデーションするべきとは思うけど面倒だからやらないで運用でカバーしてもらう事が多いのも事実

    バッチ処理がBatchableジョブの事を言ってるのかartisanコマンドで任意に叩いた処理の事言ってるのかどちらを指してるかわからんけど
    どっちにしろ動かす状況やら権限でバリデーションルールが変化するわけだから
    機能(バッチ処理)ごとにそれぞれルールは必要じゃないの?
    Batchableジョブでミドルウェアが使える様になってるのってリクエストの時と同じように
    そこでバリデーションかけたり前処理できる様にしてあるって思ってたけど
    300 : nobodyさん - 2021/06/12(土) 04:22:05.20 ID:???.net (+14,+14,-42)
    もうCloseされちゃったけど最近のissuesでもFormRequestsはバッチ処理に向いてないから廃止しようって話あったよね
    やっぱりコミュニティでもモデルにルール書く人が大半らしい
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について