探検


【PHP】Laravel【フレームワーク】 Part.12

■ このスレッドは過去ログ倉庫に格納されています
2022/08/31(水) 18:53:51.77ID:???
Laravel
ウェブ職人のためのPHPフレームワーク

本家
https://laravel.com/

git
https://github.com/laravel

動画チュートリアル(英語)
https://laracasts.com/

※前スレ
【PHP】Laravel【フレームワーク】 Part.9
https://medaka.5ch.net/test/read.cgi/php/1636499781/
【PHP】Laravel【フレームワーク】 Part.10
https://medaka.5ch.net/test/read.cgi/php/1647325775/
【PHP】Laravel【フレームワーク】 Part.11
https://medaka.5ch.net/test/read.cgi/php/1658553311/
304nobodyさん
垢版 |
2023/01/18(水) 20:14:10.56ID:???
>>303
例えばキャンペーンの申し込み用フォームとか、
ランディングページで使う程度のフォームが必要になる場合がある。

DBって言ってもSQLiteで足りる程度ではあるし、
PODで書けばそんなに手間はかからない。

そんな状況下でLaravel導入して環境構築するのは躊躇するわ
305nobodyさん
垢版 |
2023/01/18(水) 20:50:27.96ID:???
LP用のフォームだけなら外部サービス使うかなぁ
わざわざそれだけのためにphpの動くサーバ使うのめんどい
306nobodyさん
垢版 |
2023/01/18(水) 20:58:31.81ID:???
Googleフォーム使うのが定番だけど、意外と自由度低いからなぁ
LPなんてただでさえ胡散臭いのに、ドメインが変わるのも気になる
307nobodyさん
垢版 |
2023/01/19(木) 07:08:57.66ID:???
ちんちん!ソユシュッ!シュッ!シュッ!
308nobodyさん
垢版 |
2023/01/19(木) 07:15:43.00ID:???
Netlifyとかだとフォーム用のツール用意してくれてるしCORSも気にしなくてよかったはず
スパム対策とかおまかせになっちゃうけど、正直ペライチにそんなに工数もらえないから便利に使わせてもらってる
309nobodyさん
垢版 |
2023/01/21(土) 16:56:32.71ID:???
eloquentで子テーブルを一括で登録/更新/削除したい場合は皆どうしてるの?
例えば部屋に複数の写真が紐つく場合とか、部屋の編集画面で写真の追加や削除なんかをすると思うけど、方法として紐つく子レコードを一括削除して一括で登録はしたくない。
操作してない写真のタイムスタンプはそのままにしたいので。

編集画面から送信される削除フラグや子レコードのpkとかを使って1件ずつ処理する感じなのかな?
saveManyとかで複数登録なんかは出来そうだけど削除まではしてくれないよね?

ちなみに物理削除を想定してます。
310nobodyさん
垢版 |
2023/01/22(日) 13:39:24.27ID:???
デリートインサートが楽
311nobodyさん
垢版 |
2023/01/22(日) 16:53:42.57ID:???
結局は一件ずつ処理してるわけだし、シンプルに書いた方がわかりやすいよ
312nobodyさん
垢版 |
2023/01/22(日) 21:09:44.80ID:???
多対多の場合はsyncとかがあるから同じような便利な方法がないかな?とおもったんだけどなさそうなのね。
ご意見ありがとうでした。
313nobodyさん
垢版 |
2023/01/25(水) 10:23:32.16ID:???
ちんちん!シュッシュッ!シュッ!
314nobodyさん
垢版 |
2023/02/03(金) 08:23:23.48ID:Wgp21ZPs
求人情報を見ているphpの場合はLaravelがほぼ必須になっているので現在学習中です。
Youtubeのハンズオンで実際に作りながらやっています。
ログイン認証が自動で実装されるのですが、Yahoo!のようにユーザーが使用しているデバイス、IPアドレスがいつもとは変わった時だけ2段階認証にするのは簡単に出来ますか?
素のphpならuserテーブルにユーザーエージェント情報、ログイン日時を保管して置きログインの際に比較してユーザーエージェント情報が異なればメールでパスコードを送信してログインに続いてパスコードを入力させれば良いしあまり手間もかからないです。
315nobodyさん
垢版 |
2023/02/03(金) 08:44:11.98ID:???
>>314
ユーザー毎に接続元IPをDBに保持できるだろうけど企業内PCからのアクセスはプロキシのIPアドレスでみんな同じになって個人判別誤検知しそう
316nobodyさん
垢版 |
2023/02/03(金) 09:56:52.08ID:???
ちょっといじればできる
317nobodyさん
垢版 |
2023/02/03(金) 12:39:25.65ID:???
普通にCookieで妥協してるわ
318nobodyさん
垢版 |
2023/02/03(金) 12:55:47.82ID:Wgp21ZPs
>>316
ありがとうございます。
出来るのであれば後は自分で調べます。
319nobodyさん
垢版 |
2023/02/03(金) 13:50:19.22ID:yRJ5366x
symfonyのほうが良さそうなのに。
320nobodyさん
垢版 |
2023/02/03(金) 21:51:14.97ID:???
cookieかlocalstorageでも使えばやりたいことは出来るけど
そもそも二段階認証の実装の方が大変なのではw
321nobodyさん
垢版 |
2023/02/03(金) 22:37:05.59ID:???
で、Laravel10は今月でるのか?全然話題にならないが
322nobodyさん
垢版 |
2023/02/04(土) 13:57:09.62ID:???
ついこの前9が出たというのに
こんなに頻繁なアップデートいらんだろ
323nobodyさん
垢版 |
2023/02/04(土) 14:42:39.36ID:???
正直進化させる所が殆ど無くなってきていて最近は開発者の自己満みたいな新規要素が多すぎる気がしなくもない
それなら、もっと分かりやすくするとかそっち方面で改良して欲しいなぁ
324nobodyさん
垢版 |
2023/02/04(土) 19:09:14.53ID:???
デフォでGoogle認証以外の2段階認証入れてほしいわ
325nobodyさん
垢版 |
2023/02/04(土) 21:02:18.27ID:???
わかりました
326nobodyさん
垢版 |
2023/02/04(土) 23:28:25.42ID:???
9が出てから1年経ってないんだね
327nobodyさん
垢版 |
2023/02/05(日) 13:38:13.33ID:???
>>323
軽量化してほしいわ
なんやかんや余計なファイルが多すぎる
328nobodyさん
垢版 |
2023/02/07(火) 09:02:55.79ID:???
予定では今日だね
検証しなきゃ
329nobodyさん
垢版 |
2023/02/07(火) 10:13:00.97ID:???
8.1が前提になってるけど、AWSとかクラウドで動作させること前提なのかな?
汎用的なレンサバだと対応していないのもあるだろうし
330nobodyさん
垢版 |
2023/02/07(火) 10:46:43.06ID:???
そもそもレンサバだとLaravel動かすのきつい
コマンド叩いてもメモリ不足とか怒られたりするみたいだし
8.1強制含めて素人お断り感が強くなった
331nobodyさん
垢版 |
2023/02/07(火) 10:55:26.70ID:???
エックスサーバーなら一番下のプランですら仮想6Core、メモリ8GBもあるから十分じゃない?
332nobodyさん
垢版 |
2023/02/07(火) 11:12:11.26ID:???
レンサバはPHPのmemory_limitの上限が低いのでは?
同居してる数かなり多いだろうし、簡単に上げられないだろう
333nobodyさん
垢版 |
2023/02/07(火) 11:31:54.57ID:???
エックスサーバーであればmemory_limitは変更できるよ
他のレンサバも変更できるものもあると思う
334nobodyさん
垢版 |
2023/02/07(火) 11:41:28.43ID:???
>>327
確かにそれはあるかもな
Lumenみたいな軽量版を公式が用意してくれると良さそうだけどね
335nobodyさん
垢版 |
2023/02/07(火) 12:33:23.71ID:???
リリース遅れたりするから、要望うんぬんよりとりあえずスケジュール守るか告知はしてほしいw
336nobodyさん
垢版 |
2023/02/08(水) 05:31:58.68ID:???
来週に変更だってさ
https://twitter.com/laravelnews/status/1622602950517440517
https://twitter.com/5chan_nel (5ch newer account)
337nobodyさん
垢版 |
2023/02/08(水) 08:14:59.76ID:???
9も遅れたし、順調にいかないねぇ
338nobodyさん
垢版 |
2023/02/08(水) 10:32:54.35ID:???
むしろ2~3年に1回のペースでいいんだが
339nobodyさん
垢版 |
2023/02/08(水) 10:39:58.06ID:???
最近どのフレームワークもサポート期限短いからなー。
リリースして2年しか保証しないのが普通になってる?
340nobodyさん
垢版 |
2023/02/08(水) 10:51:54.07ID:???
短いよね。出すんならサポートもしっかりやってほしいよ
341nobodyさん
垢版 |
2023/02/08(水) 11:27:09.94ID:???
>>340
一番サポート期間が長いと思ってた.Netも、Coreになってから短くなっちゃったし。今一番長期で使えるフレームワークはなんだろう。
342nobodyさん
垢版 |
2023/02/08(水) 12:04:09.11ID:???
phpのメジャーなバージョンと同じくらいのサイクルにしてほしいっす
343nobodyさん
垢版 |
2023/02/08(水) 16:20:14.76ID:???
まあ、今の時代にそれは無理なんだろ
344nobodyさん
垢版 |
2023/02/08(水) 17:40:08.84ID:???
10かw
9ですら触って来てない(仕事は6のままだし)からどうでもいいけどw
11は予定だと2024のQ1らしいから今後は一年おきぐらいか
345nobodyさん
垢版 |
2023/02/08(水) 22:08:03.87ID:???
>>344
仕事でサポートのない6使っても問題ない?
346nobodyさん
垢版 |
2023/02/08(水) 22:45:52.82ID:???
>>345
もう4年ぐらい前から開発しているから
今更バージョンアップとかって話にはならないなぁ
今担当者俺一人だしw
347nobodyさん
垢版 |
2023/02/15(水) 05:06:37.10ID:???
https://laravel.com/docs/10.x/releases

やっとリリースされたね
にしても、玄人好みの変更ばっかだな
348nobodyさん
垢版 |
2023/02/15(水) 08:50:16.51ID:???
>>347
もうLSTって扱いはなくなったんだな
基本、1バージョン最大2年までのサポートとなると
実務で使いづらくないだろうか
349nobodyさん
垢版 |
2023/02/15(水) 13:41:42.32ID:???
リリースが1年毎になったし、その都度最新バージョンにしてねって事だろうな
350nobodyさん
垢版 |
2023/02/15(水) 16:27:45.01ID:???
動き出してるプロジェクトなら、頻繁にバージョンアップできないのにな
351nobodyさん
垢版 |
2023/02/15(水) 16:54:29.68ID:???
結局は途中でバージョンアップなんて今まで一度もしたことない
よっぽどセキュリティ的な問題があればするしかないだろうけど
(log4jみたいなの)
352nobodyさん
垢版 |
2023/02/15(水) 16:58:36.68ID:???
上にも書いてる人いるけど、6辺りでも十分だからな
10にすると劇的に速度がアップするわけでもないし、
セキュリティに問題なければ古くても大丈夫だわな
353nobodyさん
垢版 |
2023/02/16(木) 10:46:38.98ID:???
問題がないってのの判断基準聞かれると困るから、新規導入は最新にするけどね
354nobodyさん
垢版 |
2023/02/16(木) 13:15:01.09ID:???
新規導入の学習コスト、既存プログラム流用の難しさを考えると
旧バージョンの方が安定感あっていいと思うけどなぁ
355nobodyさん
垢版 |
2023/02/16(木) 13:22:16.06ID:???
そろそろこんな質問が出てくるかも

Laravelってどのバージョンがオススメですか?
356nobodyさん
垢版 |
2023/02/16(木) 20:35:56.23ID:???
6でも全然OK
PHPのバージョンが選べない環境ならそれに合わせるしかない
新規プロジェクトなら素直に最新バージョンにしておいた方が良いとは思うが
自分で色々解決出来ないなら、新規でも前のバージョンを検討した方がいいだろうな

従来のプロジェクトの追加開発案件でバージョンアップしろと言われないなら俺ならしないw
357nobodyさん
垢版 |
2023/02/16(木) 20:49:20.59ID:???
まだまだPHP7多いからね。PHP7.4のOSサポートはまだあるし
358nobodyさん
垢版 |
2023/02/17(金) 00:59:01.27ID:???
ゆうて純粋にLaravelのバージョンが新しすぎて困ることは知識不足以外なくね?
ちょっとコード追えば分かる感じ

むしろ新しいバージョンを導入出来ないとき、PHPのほうが問題になってることが多い気がする
PHPが厳格になってきててライブラリとかがエラー吐くようになったとかそういうパターンが典型的な気はする
359nobodyさん
垢版 |
2023/02/17(金) 10:34:23.06ID:???
来月10対応の初心者本が出るみたいだな
今度は基礎をじっくり教える内容を願う
いきなりAWSやらDockerやら言われても
環境用意する段階で詰むからな
360nobodyさん
垢版 |
2023/02/18(土) 00:31:22.30ID:CwZ6ja8y
PHP8のmatch式とかnulllsafe演算子とかコンストラクタのプロパティプロモーションとかガンガン使ってるわ
もう戻りたくない
361nobodyさん
垢版 |
2023/02/18(土) 09:51:52.84ID:???
それ使うとどう便利なの?
362nobodyさん
垢版 |
2023/02/18(土) 12:09:46.88ID:CwZ6ja8y
>>361
単純にシンタックスシュガーでおまじないが減るのと
三項演算子とかmatch式とかnullsafe演算子とかLaravel Collectionとか駆使すると
「変数 = 式」でほとんどの処理を表現できるから可読性が上がることじゃないかな
ifとかswitchとかなるべく使わない方がバグも減るし読みやすくなる
363nobodyさん
垢版 |
2023/02/18(土) 17:51:17.80ID:???
でも、ifとかswitchとかわかりやすくないか?他の言語でも使うし
364nobodyさん
垢版 |
2023/02/18(土) 18:46:15.70ID:???
switch/caseは他の言語とは別もんだぞ
ゆるい比較が元になってるから使う場所を選ぶ
いちいちゆるい比較で良いか考えるのが嫌だから、できるだけ使わない人が多かった
365nobodyさん
垢版 |
2023/02/18(土) 18:57:06.21ID:2MCUwbWU
>>363
他の言語のいい仕様を取り込んでる訳だからその指摘にはあたらない。

ifだけを使って深くネストすると分かりづらいコードになるし、条件ごとに長い処理をダラダラ書いていく悪いコーディングに人を導く。
phpのswitchは緩い比較だからそもそもバグの危険性を持ってる。

matchはケースごとに1文しか処理を書けないからifやswitchみたいに中にダラダラ処理を書けない。
じゃあどうするかを考えれば自然に責務の重くない読みやすいコーディングに人を導いてくれる。
同じ変数への代入を何度も記述したり、再代入しまくる悪いコードも減る。
Laravelのドキュメントとか見ても良いコーディングをしていることが分かるはず。
366nobodyさん
垢版 |
2023/02/18(土) 20:28:22.74ID:???
そこまで言うならmatch使ってみるわ
367nobodyさん
垢版 |
2023/02/20(月) 12:28:39.24ID:???
ChatGPTにswitchとmatchどちらがいいか聞いてみたら>>365のような返答が帰ってきた 最近のAI凄いな
368nobodyさん
垢版 |
2023/02/20(月) 12:30:28.45ID:???
>>365がchatGPT使っただけだろw
369nobodyさん
垢版 |
2023/02/21(火) 12:28:57.37ID:???
アサルトシンクロンはいつもスピリット蘇生でお世話になっている
370nobodyさん
垢版 |
2023/02/21(火) 14:29:47.31ID:???
Laravel10まだ試せてない。問題ありそう?
371nobodyさん
垢版 |
2023/02/21(火) 21:52:42.62ID:???
公式はLaravel10の更新してないな
372nobodyさん
垢版 |
2023/02/24(金) 11:03:52.75ID:???
Laravelってアメリカとか海外でも使われてたりするの?
373nobodyさん
垢版 |
2023/02/24(金) 11:13:31.43ID:???
日本人が作ってるとでも思っているのか
374nobodyさん
垢版 |
2023/02/24(金) 11:41:02.41ID:???
誰もそんな事書いてないが
トレンドの話をしてるんだよ
375nobodyさん
垢版 |
2023/02/24(金) 11:48:22.35ID:???
質問して他人にお願いしてる立場のくせに偉そうだな
376nobodyさん
垢版 |
2023/02/24(金) 12:19:22.08ID:???
>>372
現在はほぼアジア圏でしか使われていない
昔はLaravelといえば全世界で使われていたけど今はSymfony6が海外ではメジャー
377nobodyさん
垢版 |
2023/02/24(金) 12:25:19.97ID:???
>>376
ありがとうございます。375と違ってすごく参考になりました
378nobodyさん
垢版 |
2023/02/24(金) 12:54:58.77ID:???
たしかにLaravelダメすぎだな
https://i.imgur.com/kh6OKpa.jpg
379nobodyさん
垢版 |
2023/02/24(金) 12:57:37.19ID:???
>>378の情報に騙されるなよ
380nobodyさん
垢版 |
2023/02/24(金) 19:00:38.58ID:???
まあphp自体伸びる理由があまりないしな
Laravelはよくキープしてるよ
381nobodyさん
垢版 |
2023/02/24(金) 19:51:59.29ID:???
アメリカのトレンド検索したら、Pythonが圧倒的だった
382nobodyさん
垢版 |
2023/02/24(金) 21:53:37.25ID:???
シェアは普通にphpが圧倒的だと思うぞ
https://trends.builtwith.com/framework
383nobodyさん
垢版 |
2023/02/25(土) 05:10:01.18ID:???
ちんちん!シュッ!シュッ!九州!
384nobodyさん
垢版 |
2023/03/01(水) 09:22:50.37ID:2EEqTc50
ゥララヴォゥ
385nobodyさん
垢版 |
2023/03/02(木) 13:31:14.48ID:???
バックエンドだけLaravel使ってる人います?
Laravel側でjsonを生成して、フロントで受け取るみたいな
386nobodyさん
垢版 |
2023/03/02(木) 14:35:37.21ID:???
いくらでもいるだろ
387nobodyさん
垢版 |
2023/03/02(木) 14:59:52.77ID:???
Laravelでvue使っても大概そうなるやろ
388nobodyさん
垢版 |
2023/03/02(木) 18:17:19.07ID:???
>>387
それはLaravelにフロントもバックエンドも任せてね?
389nobodyさん
垢版 |
2023/03/02(木) 20:45:55.82ID:???
そいやそうだね
390nobodyさん
垢版 |
2023/03/02(木) 21:53:27.63ID:???
今のプロジェクトはSPAで一応Laravelで一つだけのページは返すけど
基本はAPIの為に使っている
フロントはvueでやってる
391nobodyさん
垢版 |
2023/03/03(金) 09:49:42.71ID:???
やっぱLaravel使いはvueが多いよね
ReactやAngulerよりも使いやすいのかな
392nobodyさん
垢版 |
2023/03/03(金) 09:52:59.21ID:???
皆がvue使ってるから選択している安直な理由だと思う
393nobodyさん
垢版 |
2023/03/03(金) 12:27:29.04ID:???
ららぼ〜、実際に使ってみようかと思っているんだが、メジャーバージョン
アップが頻繁すぎて、ちょっと怖いでござるよ。
先輩諸氏はそのへんどうしているのござるか?
394nobodyさん
垢版 |
2023/03/03(金) 12:50:24.36ID:???
Laravelは今でも開発が続けられておるでござる。新しい機能や改善を含んだメジャーバージョンアップが頻繁に行われているのじゃ。
しかし、アップデートすることで新しい機能や改善を取り入れることができるのじゃから、先輩方はちゃんとバージョンアップを行っているのじゃ。
ただし、アップデートにはリスクもあるから、事前にテストを行って問題が起きないか確認することが大切じゃ。
LaravelにはLTS(Long-Term Support)版もあって、安定したバージョンを選ぶこともできるのじゃ。
だから、プロジェクトによっては新しい機能を必要とせず、安定性を重視する場合はLTS版を使うこともできるのじゃ。
でも、新しい機能を取り入れたい場合は、定期的にバージョンアップを行って最新の機能を活用することも大切じゃ。
395nobodyさん
垢版 |
2023/03/03(金) 12:56:47.19ID:???
LTSなんてもうねーよw
396nobodyさん
垢版 |
2023/03/03(金) 12:58:55.46ID:???
>>395
Taylor OtwellがLTS版を仄めかしだしたから多分復活する
397nobodyさん
垢版 |
2023/03/03(金) 14:08:33.98ID:???
問題はどれに復活するかだな
今後のバージョンに復活するのか、既存のバージョンになるのか
個人的には8をLTSにしてほしいが
398nobodyさん
垢版 |
2023/03/03(金) 19:03:15.96ID:???
復活するなら次の11か最新の10じゃね?
過去のバージョンは流石に無さそう
399nobodyさん
垢版 |
2023/03/13(月) 11:55:32.17ID:???
質問書こうとしたらChatGPTで解決してしまったのですが、一応書いときます。。(以下質問)

ちょっとルーティングで出来る方法があるかが分からないので、教えてください
・web.phpでresourceをgroupの中に入れたい
・resourceのeditで(URLで)idを指定して表示させたい。例「customers/1/edit」
・しかしcontrollerのfunctionの引数にクラスを指定している(idから自動的にモデルがfindされるLaravelの仕様を利用)

<変更前>
[web.php]
Route::get('customers/change', 'Customer\CustomerController@change'); // こういうのがいっぱいあってresourceもろともgroupに入れたい
Route::resource('customers', 'Customer\CustomerController');

[CustomerController]
public function edit(Customer $customer){~~諸々の処理~~}

<こうしたい>
[web.php]
Route::group(['prefix' => 'customers', 'as' => 'customers.'], function () {
Route::get('change', 'Customer\CustomerController@change');
Route::resource('/', 'Customer\CustomerController');
}

[CustomerController]
public function edit(Customer $customer){~~諸々の処理~~}

ですが、後者だとURL「customers/1/edit」となったとき、not foundになります。
「customers」や「customers/create」等は正常に表示されます。
php artisan route:listでは
「customers/{customer}/edit」が「customers/{}/edit」になってしまいます。
groupの外にresourceの記述を出せば解決するのですが、
何かありそうなので、もし知っていたら教えてもらえますでしょうか。
400nobodyさん
垢版 |
2023/03/13(月) 11:55:55.29ID:???
以下ChatGPTの回答。idをcustomerにしたら(cotrollerも変更なしで)OKでした。

問題の原因は、Route::resource で指定されたルーティングパラメーター名が customer であるためです。
Laravel は、Route::resource で自動的にルーティングパラメーターを id に設定します。
したがって、ルーティングパラメーター名を id に変更すれば、期待通りの動作が可能になります。

以下は、修正したコードです。

Route::group(['prefix' => 'customers', 'as' => 'customers.'], function () {
Route::get('change', 'Customer\CustomerController@change');
Route::resource('/', 'Customer\CustomerController')->parameters(['' => 'id']);
});

[CustomerController]
public function edit(Customer $id){~~諸々の処理~~}

Route::resource の第二引数に parameters メソッドを使用して、ルーティングパラメーター名を id に変更します。
そして、edit メソッドの引数も $id に変更します。

これで、URL customers/1/edit での編集ページへのアクセスが可能になります。
401nobodyさん
垢版 |
2023/03/13(月) 14:12:38.36ID:???
長いからChatGPTに要約させてくれるか
402nobodyさん
垢版 |
2023/03/13(月) 16:04:12.97ID:???
「絶対にガンダムに例えて要約しろ」って言ったのに例えてくれなかったです。
しかも微妙にズレてる気はしなくもない。

↓回答
質問者がLaravelでルーティングを設定する上で、group化されたresourceルートでidを指定してeditアクションを呼び出したいが、
URLにおいてidを指定するとnot foundになってしまうという問題が発生しています。
これは、ルーティングパラメーター名がcustomerであるために起こる問題であり、idに変更することで解決できます。
具体的には、Route::resourceの第二引数にparametersメソッドを使ってidを指定し、
editメソッドの引数も$idに変更する必要があります。
これにより、URL customers/1/edit での編集ページへのアクセスが可能になります。
403nobodyさん
垢版 |
2023/03/13(月) 16:22:22.99ID:???
>>399の質問投げたらCahtGPTが答えてくれたの!?
それは凄いな。ものすごく専門的な質問じゃん
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況