◎正当な理由による書き込みの削除について: 生島英之 とみられる方へ:【PHP】Laravel【フレームワーク】 Part.12 YouTube動画>1本 ->画像>9枚
動画、画像抽出 ||
この掲示板へ
類似スレ
掲示板一覧 人気スレ 動画人気順
このスレへの固定リンク: http://5chb.net/r/php/1661939631/ ヒント: 5chスレのurlに http ://xxxx.5chb .net/xxxx のようにb を入れるだけでここでスレ保存、閲覧できます。
前スレの話を纏めるとLaravelでは途切れない連番は無理だが 素のphpでファイルロック方式なら可能という結論でだよな
>>3 それは、お前だろ?
何で他人の、ふりをしてるんだ?
句点おじ…前スレを最後に婚活がんばってな…? 親御さんのために幸せな家庭を築いて孫も見せるんやで…? 応援してるで…?ww
ファイルロックで連番管理は重複する可能性あるから駄目だろ ちゃんとファイルシステムのキャッシュを切ってるなら問題ないけど
みんなから疎まれているのに全く自覚のない 14マンが不憫です。 どうしてこんな子に育ってしまったのでしょうか? お母さんは一体何を教えていたのでしょうか? バナナの剥き方しか教えなかったのでしょうか? せめて、途切れない連番の発行の仕方くらい教えてあげていればこんなに道を踏み外すことはなかったのに。 哀れな14マンです。
14マン 嗚呼14マン 14マン (途切れない連番すら発行出来ない低能を嘆く悲しみの句 詠人知らず)
>>11 そこまで行くと、そもそものシステムの信頼性の話になって、宇宙線でのデータ化けにどう対応するのとかの際限ない話になっちゃうから、FWレベルの話では考えなくていいだろ。
連呼マンが消えたということは、学生だったのか。 せっかくの休みに、こんなことで時間を浪費できるなんて、贅沢だな! 俺が学生の頃は、バイトに遊びに忙しくて、悲しいことに、ネットをする時間なんて残ってなかったわ。
このまま落とせよ、いらんやろ荒らしが二人もいるスレ
14マンは、夏休みと共に去っていってしまったのですね。 あわれ、一夏の14マン。 さよなら、一夏の14マン。 セミみたい、一夏の、14マン。
中間テーブルの命名規則について、接続したいテーブルの名前が2単語以上の場合どのようにすればいいですか? 例:test_users と test_comments テーブルの中間テーブル名
ルールで言うなら test_comment_test_userだったはず
結局、バカベラーは途切れない連番が発行出来ず逃亡したのですね。
>>28 ファイルロック方式で余裕で連番作れますが何か?
>>30 バカベラーは途切れない連番の実装にファイルロックなどという原始的な方法をいまだに使用しているのですか、
嘆かわしい。
>>32 auto increment だから大丈夫です!(キリッ!)w
途切れない連番なんて先に採番した番号がコミットされるまで採番させなければいいだけじゃん
>>36 これが、Laravelが無いと何も作れないバカベラーの知能程度なのです。
途切れない連番の実現方法に時間費やしてるような無能だから薄給フリーランスなんだよ
>>40 F社とかなら普通にそんな事の為に時間と人員を費やしてそうだな
FってF通か?w NとかHとかも似たようなものだがw NDATAも子会社や関連会社ばかりだし 大手でまともな所見たこと無いw
もうNはソフトウェア開発関連からは撤退したとか聞いた気がするからやってないんじゃないかと思うが
みなさんだと管理画面70ページぐらいは何人月くらいかかりますか? テーブルの各カラムで検索とソートができる仕様で技術選定は自由だけど一括読み込みしてクライアント側で捌くのは無しです
>>42 日本の大手と言われるところは、基本、外注に仕事を振るだけなんでしょ?
>>46 AdminLTE等で作る一般的なCRUDのアプリで
リスト表示や入力含めてトータル70画面くらいの想定です
システム発注する側か受注する側か知らないけど今日日の流行りは自社内製で 自社内製で作る場合で要件固まって無いなら少しずつ作るやり方になって 少しずつ作るなら管理画面70ページは多い。 自社業務用のシステムは自社で作ったほうが自社向けの改修も対外向け受発注処理無くて済むから作りやすいよ
>>45 客に高い金を請求してよく分からん様なヤツでもなんでもかんでも増やしてとにかく大人数(派遣集め)にしたがるイメージだな
>>47 外注したら30人月くらいで出てくるんちゃうか
そんな情報で出せる程度の見積もりでええんや そもそも引き合いでもないし
44です みなさんレスありがとうございます 実は今入ってる現場の話でPGがあまりlaravelわかってない人で納品まで2ヶ月 待ってもらって3ヶ月くらいでなんとか!と言われてるんですよね 仕様書みてもまだ固まってないとこも多くer図もそれなりに複雑なので無理ですって言ってるんですが人材不足でこのままスタートしそうでして… 普段からやってる人ならこなせるのかと思って質問してみましたが無理なものは無理で出来る範囲でやってれば良さそうですね
処理が簡単なのが沢山あるぐらいならそんなにかからないけど 画面仕様書作ってそれを承認して貰ってから作るとかメンドクサイプロセスがあると 2~3か月で作るとか無理じゃね? 過去に似たような仕事をほぼ一人で半月ぐらいでやってたけど、画面仕様書は発注元が作ってたわ
PMがLaravelをわかっている必要はないのと見積もりは画面数ではなく基本的には機能からだすものだ
>>42 この手の話Web系では無縁だと思ってたが
関わる事ってあるの?
Route::prefix('/{locale}')->group(function(){ Route::prefix('aaa')->group(function(){ Route::get('/', [App\Http\Controllers\AaaController::class, 'aaa']); Route::get('a1', [App\Http\Controllers\A1Controller::class, 'a1']); Route::get('a2', [App\Http\Controllers\A2Controller::class, 'a2']); }); Route::prefix('bbb')->group(function(){ Route::get('/', [App\Http\Controllers\BbbController::class, 'bbb']); Route::get('b1', [App\Http\Controllers\B1Controller::class, 'b1']); Route::get('b2', [App\Http\Controllers\B2Controller::class, 'b2']); }); Route::get('/', function () { return view('index'); }); }); laravel9です。例えば上記みたいにprefixの中にprefix使ってて、「hoge.com/en/aaa」や「hoge.com/en/aaa/a1」が開いてるときに「aaa」が取得できる関数って用意されてますか? ->getPrefix()とか使うと「{locale}/aaa」が取れてしまいます。str_replaceとかは極力使いたくないです。詳しい方いましたらよろしくお願いします。
そもそもそんな書き方するより、例えばだけど 'en/{param1}/{param2}' みたいな感じでコントローラの処理で$param1や$param2を見て分岐すりゃいいんじゃないの? 明確にURLが決まってるなら全てルーティングに書けば良いだけだし
最近サボってたけどなんとなくLaravelの仕組みを解ってきた、ちょっと興味わいてきたわ 久しぶりに触ってみようかな
相談です。 bladeテンプレートのview(子)がlayout(親)を継承して表示する状態になっています。 親子間で変数を共有する方法を探しています。 「親」で、複数の「子」で共通する変数を定義して使いまわしたい都合です。 子の変数を親が拾う処理は子:@section 親:@yield でいけるのですが、その逆ができないか探しています。 ウェブの資料だとinclude()を使うとできるようなことを言っていますが、 親のyieldに子がsectionで入れる構造を変えたくないです。 この構造で親→子に変数を渡す方法があったら知りたいです。
概念的にはlayoutはトレイトであって親クラスじゃないからな
トレイトっていう考え方しっくりきやすいな 今度教えるとき使ってみよ
Laravel勉強してるけど「これ覚える必要ある?」ってなってる。 ゴリゴリ自分で書いた方が楽では?
フレームワークって、同程度の品質で量産するためのものだからね 1,.2個ブログ作るだけならwordpressのほうが絶対に早いし楽
認証管理とかフロントフレームワークとか導入しやすいし 最近のComposer使わないとインストールするのがめちゃくちゃめんどくさいライブラリ入れる場合とかあるじゃん
>>66 そう思うなら使わなきゃいいだけ
自前で作ってセキュリティまで担保出来るとは思えんが・・・
ログイン周りはフレームワーク使わないと怖いな いつ攻撃側がアップデートするか分からんし
俺的にはReactがバックエンドにそのまま繋げれる環境が簡単に用意出来るのを知った時点で俺の中でのLaravelの優位性が一気に爆上げした
認証周りはFWに頼るべきだよなあ 自前とか今どきだと考えることおおすぎて
勉強の段階でもうLaravel不要とか言ってしまうのスゴいなよほど自分の書くソースコードに自信があるんだな
laravel勉強し、将来的に色々なwebサイトを作れるようになりたいのですが、何から勉強すると良いでしょうか ブログを作ってみる、などでしょうか? 今はwordpress+サクラエディタで、 開発環境もちゃんと整備しようかと思っています
ちょっと古いが何からやったらいいか分からんなら津耶乃本から始めるのがいいと思う
>>74 もう12年やってるからな。
今のところ被害ゼロだぜ。
ぼちぼちPhpExcelとか素のphpだと新しいバージョンのphpで使うの無理くね?
作るのは自分が好きなの何でも良いから とにかく頭と手をどんどん動かせ
migration ファイルのフォーマットが変わっててビビった 変わったのは最近だと思うけど、コレなんで変わったの?
書き方のサポートは随分前に変更されてたらしい
変更前後はこんな感じ
https://qiita.com/ucan-lab/items/eb10ec577d8e08226b33 多分、最近テンプレートが新しいものに切り替わったんだと思う
return new class って書き方を見たことなかったんでそこでビビったw
変更じゃなくて別の書き方も追加されたが正しいのでは?
正しくは以前別の書き方ができるようになった で、最近それがデフォルトとして採用された だと思う まぁ、経緯はどうでもいいw なんで新しい書き方になったのか知りたかったんだけど、それはQiita読んで完全に理解した なんでこんな書き方ができるのかは全然分からん(完全理解i以前の分からん)
無名クラスなんてPHPで出来る事をそもそも知らなかった件w
https://www.php.net/manual/ja/language.oop5.anonymous.php まぁ、普段使う事無いし、フレームワークとかの設計者ぐらいしか正直いらんのではと
無名関数はなんとなく分かるんだけど、いきなりreturnが意味不明だったのよ まぁ、そのうちコード読んで見る
質問なんだけどデータベースのテーブルからWhereだけでレコードってとってこれるの?
Eloquentだと別にselect書かなくてもSQLで言うselect *にはなるよ そういう意味じゃなくて? 例えば Model::where('no','>',100)->get(); みたいな書き方は出来るよ
>>88 configs以下の設定ファイルもreturnで返してるから何となく分かるっしょ
無名クラスはinterfaceとabstractのテストする時 実体クラス作る必要なくなるから便利だった
>>90 get使わないで取れる?
table(’tablename’).Where('number', 100);
こんな感じで
データベースのマイグレーションが無名クラスの実装になってる
>>93 getかfirstまたはfindなどを使わないとそもそも取れないw
それらを最後に使う事で実際にSQLが実行されるからね
getなら複数(結果が0や1つでも配列となる)
firstならlimit 1と同じだから結果は単体(取れない場合はNULL)
findはwhere('id',xxx)->first()と同じようなもの
>>95 やっぱそいだよね、仕事先でGetしなくても取れるって話聞こえたから本当か?って思っちまったよ。
独自のメソッドを用意すれば出来なくはないけど、そこまでする必要が無いというか 明確にget() or first()にしておいた方が分かりやすいかと思う
新規作成で罠かかったわ、カレントディレクトリとかに罠にハマって時間を無駄にした
10はいつ出るの?最近Laravelの話題ないよね
>>100 ドキュメント読めないアラシがさんざん居着いたスレだから、ドキュメント読めば分かる内容に触れたくない
bot相手みたいな平行線はうんざりなのよ
正直新しいバージョンを待ってるって事が段々なくなってきている セキュリティとかのパッチは必要だと思うけど、機能面は正直今で十分だしなぁ どちらかと言うと高速化とかそっちを頑張って欲しい気がする
多対多で3つのテーブルをリレーションする構成を考えてるんだけど、Pivotを使うのが正攻法?
以下の記事でやりたいことは実現できそうなんだけど、中間テーブルの名称とかちょっと気持ち悪く感じてる
https://qiita.com/kkznch/items/72ff650737eff863e4d9 3つのテーブルは記事と同じく多対多対多の関係です
良い方法があれば教えて
やはりこれが正攻法なんですね ありがとうございます テーブル名だけ気持ち悪いんで3つ突っ込んで設計してみます
>>103 はどのバージョンで開発してるの?
俺は7系が使える8で開発してるんだが
>>104 そんなめんどくさい事しなきゃならんLaravelって
マジ終わっとるな
>>107 今はまだ6使ってるわ
関わっているプロジェクトが長期化しているから
まだ次のプロジェクトでどうするかとかは考えてないけど
機能的には6で十分かなという感じ
laravel使ってみましたが、 ログイン画面とか一瞬で作れるんですね sessionとかpassword_hashとか一生懸命勉強したのに、こんな簡単に作れるなんて・・・
認証はやっぱりSAMLとかのシングルサインオンですって! SSO環境がないのならKeycloakをLDAP等に連携させるのはいかがです? どのサービスでも同じ認証画面アクティブディレクトリのIDパスワード等で統一されれば、ユーザーも戸惑わないし、大量のIDパスワードに悩まずに済みますよ! サービスを切り替える度々に認証入力する手間も省けて、ユーザーの満足度向上間違いなしです! Laravel自体をSAMLのSPにするか、apache+mod_auth_mellonの組み合わせでシングルサインオンに対応できます (認証回りを使い回して楽したい、パスワード管理ヤダ、パスワード忘れの問い合わせとか付き合ってられない)
LaravelのComposeとかのライブラリどう参照してるのとか仕組み知らないと混乱するな
>>109 確かに6で十分なんだよなぁ
Laravelに限らず、どのフレームワークもバージョンアップするたびに
仕様が変わりまくって機能がもりもりになるけど、
最小構成のものを出してくれればいいのにな
んで、追加したければモジュールやらプラグインで追加ができれば
自由度も上がるし、過去作ったものも保守しやすいのに
より自由度を高める設計変更は、バージョンアップのたびに実施されてるよ 認証周りとかすげぇと思う 逆に、トレンド的に必須になった機能をフレームワークとして取り込んだりしてるから、そのバランス取りに加わりたければ、ディスカッションに参加するしか無いかなぁ
自由に出来すぎると迷うからなぁ デフォルトで「これしかできない」にして、 後から追加できる方が便利だと思うんだよな 余計な機能がついてないぶん、リスクも減るだろうし
まあそれなんだよな フレームワークには型に嵌めることも目的としてるとこがあるから
そもそも、オモチャみたいなWEBアプリしか作れないLaravelなんか、バージョンアップしても無駄。 ちゃんとした堅牢な業務システムを破綻なく作れるフレームワークが必要とされている。
ちゃんとしたのはRubyとかJavaに任せればいいだけじゃね? Web自体がオモチャなんだし
Rubyじゃない、Pythonか 分野が違うんだし、比べる必要ないと思うけどね
>>121 具体的に堅牢性に問題がある箇所ってどこ?
フレームワークが破綻なく作れる所まで担保しないしw そんなのは結局その利用者の作り方の問題だしなぁ
他を貶して自尊心を保つのは大体Rubyおじさんなんだよなぁ ホント他と比べて勝ってると思わなきゃ自尊心保てないとか可哀想としか言いようがない
しかも自分ではろくにプログラムもかけないのに「Ruby命!」w
我が道を行けばいいだけなのに何で他と比べたがるんだろう…?
ちょっと事実をしたかされただけですぐに頭に血が上って発狂してしまうららべらーの皆さん相変わらずかわいいw
ばかべらーさんは負けず嫌いなので直ぐに反応して分かりやすいです。
wordpressが大分使えるようになったので laravel勉強し始めたけど、もしかして一人で作るフレームワークとしては、あまり向いてない? 分業体制には良いと思ったけど、 一人でやると ・MVCに分割 ・それぞれで作業 という謎の工程になっているような気がします それとも、これは私が未熟故の感覚で、一人で制作する際もMVCを念頭において設計した方が良いのでしょうか? 今作ってるサイトは、主にゲーム攻略系のサイトで、登録・会員制にしようと思っています
>>134 Laravelに限らず、一人でやる場合もフレームワーク使ったほうが良いよ
理由は、過去に作った自分のソースを忘れるから。
フレームワークなら作り方に規則性があるから思い出せるけど、
そうじゃないものは思い出すのが大変になり、時間がかかる
保守に影響出るから、サイトやアプリの成長には繋がらない
>>134 認証認可とセキュリティ周りの必要最小限をフレームワークが担ってくれるって点だけでも、一人制作において十分有用ですよ
また、MVCって概念は分業のための仕組みではなく、コードを整理するための仕組みです
結果として分業に寄与しますが、根本を間違うと理解が進みません
あと、学習初期に考えることでもないですが、MVCって概念だとコードが整理できない時期が来ます
クリーンアーキテクチャだなんだといった設計手法が耳に入ると思うので、壁を感じたらそちらを学習してみると良いです
>>135-136 なるほど、得心致しました。ありがとうございました。
laravel、勉強します!
皆様に幸あれ
CakePHPで散々「そうじゃない」と言われたのに馬鹿の一つ覚えでDBにアクセスする物をModelと称したり、TemplateをViewと称して表示方法に係るロジックをControllerに溢れさせたりする謎のヘンテコフレームワーク
>>140 あなたの思う本当のフレームワークは?
叩かれるのが怖いから答えられないとは思うけどw
聞けば何でも恵んでもらえると思ってる乞食は 昔から貰いが少ない
Laravel練習中です 複雑なページでは、ControllerからViewに投げるというのは理解できたのですが、 静的なページ(会社概要や、特定商取引法に関するページなど)も、必ずcontrollerを通した方が良いのでしょうか?
必ずコントローラーを通す必要は無いよ ルートの設定内でビューを返す事も出来る ただ、全ルート処理を共通にする(同じように書く)なら 全てコントローラーでビューを返すというルールでも良いかも知れない
>>148 ありがとうございます
この辺りは、製作者の好みという感じなんですね
とりあえず今はrouteからviewを返すのおアリにして、色々作ってみようと思います
最新バージョンで、良い勉強動画があれば教えてください 動画を色々見て、話し方などが聞きやすい動画を見て勉強していたのですが、 全然動かない、おかしいな、と思ってよく見たらバージョンが4の時代の動画でした 今までExcelのような下位互換があるものしか触ってこなかったので、気づきませんでした webプログラムは、あまり下位互換が無いものなのでしょうか?
下位互換を保つために、PHPの新機能が使えなくなったりしたら 本末転倒じゃん
v7くらいをベースで勉強して差分を取り入れるのが一番効率的なんじゃないか?
あるよー ドキュメント読んでみ どんどん堅牢な書き方できるようになってるから
ちょうど和田さんのアップデートされた公演が公開されてるね
ダウンロード&関連動画>> VIDEO 無理に新しい形で書けば良いというものでは無い感じ switchはmatchにしてもなぁ・・・という感じがしなくもない
無理に使う必要はないけど、enumとmatchはずっと不便だったところだから実装されて以降頻繁に見かけるよ
>>150 本気で覚えたいならちゃんと本を買って勉強しよう
動画で学ぶとかまず無理よ
Ver8に対応してるの買えば間違いない
勉強はコストがかかるもの
>>161 言うても最新の本はマニアックだぞ
初心者向きとはとても思えない
まあ、Laravel自体が素人向けじゃないしなぁ 少なくとも無料で公開されてる動画チマチマやるよりはいいかと
>>162 横からすまん
なんてタイトルの本?
方向性が合う本なら読んでみたい
なんだかんだで初めてやるなら津耶乃本がわりと無難ではあるけど古いんだよなあv6時代かぁ
>>164 普通にAmazonで8と9の本探してみ?
電子書籍をのぞいて1冊ずつしか出てないから。
目次見れば素人向けじゃないの分かるよ
素人は本を欲しているけど本は玄人向け しかし玄人は本なんて無くても調べたらどうにでもなるというw 本の必要性が・・・
6の本はどれも割りと素人向けなんだけどな なぜかそれ以上のバージョンから変わった 最新の9なんてTwitterと連携する方法説明してるしw
>>169 あの頃が一番に入門書書いたら売れる時期とかそんなんだったんじゃない?
てか本当が4~5時代くらいが一番新規参入が多かったのが流行ってるらしいとそれに目を付けて執筆したところがそれくらいって感じ
もうLaravelもphpも使われなくなってきてるからDjangoとかFastAPIにしといたほうがいいぞ 特に初心者は
そもそもpythonなんかをweb系で使う事自体が間違っているのだがw
PythonはAI・機械学習系だからな。用途が違う
というか好かれてるPythonをWebフレームワークとして使いたいって思惑があったからDjangoは出来たんやろ PHPはWebありき?の起源だった記憶 しらんけど、初心者はやりたいことを素直にできる言語をやればいいよ
PythonはWebで使うには数値→文字列の変換とかが煩わし過ぎる
テンプレートのyieldで教えてください
階層がこうなっています
viewのshow
headerのテンプレート
headerがyieldできないのですが、何が原因でしょうか?
show.blade.phpとheaderを同じ階層に置いた時はyieldが出来たので、
@yield('../layouts.header')のようにかくのかとも試してみたのですが、うまくいきませんでした
あとただ読み込みたいってだけの場合は@includeってのが別にある
>>180 なんと・・・
勉強し直してきます、ありがとうございます
>>180 のヤツ入れたら
resource/viewsに自動でファイル作られるからそれを参考にしてみ
>>179-183 こういう流れが本来のスレにあるべき姿だな
親切に答えた180に敬意を払う
laravel勉強中なのですが・・・ git docker(sail?) nuxt.js vue.js typescript vuetify 実務ではこれぐらい併用しているとお聞きしたのですが、 皆様普通にこれぐらい使っているのでしょうか なんとなくですが、nueとnuxtがかなりとっつきにくい感じがしています。 laravelと同時に覚えたほうがいいでしょうか。それともlaravelを先に覚えたほうが良いでしょうか? laravelの学習は楽しいです。
Laravel使ってるけどapiサーバとしてしか使ってないな
>>185 並べてる技術は要素技術なので「普通にこれぐらい使っているか?」といわれれば普通に使ってますという回答になりますが、必須かと言われればプロジェクトごとに要不要が別れます。
Laravelはフルスタックフレームワークと言われるものなので、十分に使おうとすると幅広い範囲の技術知識が必要です。
同時におぼえるというよりは、各要素技術の体系的な知識を広く薄く身につけた上で、公式ドキュメントを参照しながら使用するツールだと思います。
>>185 必要ない。
それらを使った技術ブログをアップしている人の声が大きいだけで、
実際の現場でそこまで使うことはない。
gitは当然としても、Javascriptはどれ選ぶかぐらいじゃないか?
まだjQuery使っている人も3割はいるからな
とりあえずLaravelで出来る事だけを先に覚えた方がいいだろうね 平行してVueとかやっても頭が良くないと厳しいのではないかと フロントエンドも昔ながらのbladeで書く方法ぐらいはまず知っておいた方がいい気がする そこでjavascriptも多少書けないとダメだしそれだけでも覚えることがかなりあるかと思う
別にjavascript的な処理が必要なければ書く必要ないけどな
>>190 趣味なら無いだろうけど、仕事なら100%あるからjavascriptも次に覚える必要があるには変わりない
100%やろw jsが全く無いサイトなんて仕事では無い
100%だね ペライチのランディングページでも使うぞ
ペライチなんてそれこそJavascriptで動かすサイトじゃん。 100%ってWordPressとか既存のテンプレ想定してるのか? Laravelでイチから作る話じゃないのかよ
migrateの部分を勉強しているのですが、 public function down() の部分は自分で書かないとダメなんでしょうか?
自動で書く方法はないのか?って話だろ コマンド使うんだから、そう思っても仕方ない
>>198 そうです
upに書いた後になにかすれば、逆のコードをdownに書いてくれるような機能があるのかと思いまして
完全手動っぽいですね
確かに推測して自動で・・・って思わなくもないけど upも色んな書き方が出来るから(単なるPHPのプログラムだし) 今の時代にそれは望みすぎだなw 100年後にはAIで自動補完とか出来るようになってるかもw
artisanってviewはmakeできないのですか?
viewに何を書いてほしいんだ? そんなの本人以外分かるわけないじゃん
100年後にはアレクサにでも聞けば書いてくれるかもなw
>>202 デフォルトのviewを設定して、artisanでmakeしようと思ったのです
無いんですね
それ言うとartisanの意味が薄れていくような laravelのファイル作成は必ずartisan make、みたいに統一すればもう少しわかりやすかったとは思う
viewのひな形なんて作りようなくない? もうできて何年も経ってるフレームワークだし、 必要性高ければ機能として存在してると思うし、 存在してないにもちゃんとそれなりの理由がある
そもそもartisan makeを使っている人少ないんじゃね? 大体コントローラーにしてもマイグレーションファイルにしても どれかコピーして作ってるわ
まあ何か何でもcopyするコマンドはあってもいいかなとは思う 実際はフォルダを別に切ったりするから使いづらいかもだけど
>208 結局そうなるよね 一時は挙動知らないからartisanカスタマイズしたり頑張ってたけど、 コピーでええんかいって気づいてからはコピーばっかりだわ
laravel6でCSRFを完全に無効にする方法ってありませんか? ajaxのPOSTでTOKENを送信しているにも関わらず、 Failed to load resource: the server responded with a status of 500 (Internal Server Error) が出ます。 VerifyCsrfToken.phpに許可するURLを指定してもなるし、もうお手上げです・・。 問題の切り分けをするため、完全にCSRF使えなくして試したいです。
単純にKernel.phpのVerifyCsrfTokenを指定しているミドルウェアをコメントアウトすればいいだけでは?
>>213 やってみたのですが、
>>212 のエラーがでますね
$request->hasFile('upload')の書き方が悪かったようです
>>214 さんの意見で気づけました!ありがとうございました
modelが1テーブルにつき1つ、という説明を見たのですが、 joinなどを使う場合は、その都度新しいmodelを作るのでしょうか?
>>218 ありがとうございます
命名でご相談ですが、
shopテーブル(idと店舗名)
syainテーブル(id、社員名、店舗id)
をjoinして、全国社員テーブル(社員id、社員名、店舗名)のようなものを作る場合、
どのような命名規則が良いでしょうか
model・class名はsyain_shopのような感じでしょうか?
Laravelの場合、テーブル名は複数形が推奨されているので それに従う場合は、モデル名は単数でテーブル名を指定しなくても推測してくれる 例えばshopsテーブルがある場合、Shopモデルとなる storiesテーブルのような場合でも、Storyモデルとなる ただ、別に従わなくても良く、モデル内にprotected $table = '実際のテーブル名' と明示的に書けばそれになる この辺はドキュメント読めば書いてある事だと思うが
>>219 syainsテーブルにデータを入れる
joinjは>belongsToなどを使って、テーブル間の関係性をmodelに記述する
joinの度に別modelは作ったりしない
Models/syain.php
class Syain extends Model
{
//belongsTo設定
public function shop()
{
return $this->belongsTo('App\Models\Shop');
}
}
これでcontrollerに
$syains = Syain::all();
と呼び出して
viewには
@foreach ($shains as $syain)
{{$syain->shop->name}}
@endforeach
のように書けば複雑な手順無しに色々結合して呼び出せる
モデルはCakePHPと似てるな 違いは、バリデーションをコントローラーに書くか書かないかぐらいか
>>222 ありがとうございます!
modelをsyain、shop、syain_shop、と作ってテーブルが無いと言われて混乱してました
Laravel勉強してますがフロントエンドにVueとかReactというのがあるのを知りました HTMLやjavascriptとはまた別物なのでしょうか 用途がよくわかっていません
それはらJavascriptのフレームワークです 用途は画面更新や操作で使用します 別に必須技術というわけではありません
LaravelはいわゆるフルスタックフレームワークなのでVueとかReactという言葉が聞き慣れないレベルで学習しても遠回りです (ドキュメントがまともに読めません。またネットにある記事の信頼性を評価できません) php/JavaScript/html/css を体系的に一通り学んだ後、可能であればwebサーバ/DBに関してある程度以上の知見を得た上でLaravelを学習することをおすすめします 本当はmailシステムとかキャッシュとかまで学習してからが理想ですが、その辺は実務に入っても理解できない箇所があるので、ドキュメントが読めれば良しとして学習を進めるしか無いです
LaravelのDIコンテナとしての役割とDIコンテナを使う目的とか理解して使っている人ってどの位の割合なんだろう? 素朴な疑問です。他意はありません。
>>228 お前が割合を理解してないことは分かった
母数すら特定できんものを質問するとかアホなの?
クソ仕様だよな
217nobodyさん2022/12/11(日) 09:12:10.22ID:???
modelが1テーブルにつき1つ、という説明を見たのですが、
joinなどを使う場合は、その都度新しいmodelを作るのでしょうか?
218nobodyさん2022/12/11(日) 13:01:58.94ID:???
>>219 そうです。model=テーブルという考え方です。
>>229 Xを母数と捉えると大凡でnくらいだと思うけど、Yを母数と捉えるとおそらくmくらいかな。Zだとちょっとわからないなー。
で、君の知りたいのはどれだい?
って聞ける様になると、あなたも、あなたと一緒に仕事をする人もストレスが減るんじゃないかな。
>>233 そのXとかYってなんだ?
母数が特定できないものの割合を質問しても意味ないって指摘なんだから、コメントするならせめて埋めろよwあほだろ
こんなの周りにいたらストレスたまるわー
ん?別に1テーブルに2モデルあっても問題が無いが意味が無いのでそんなことはやらないだけ そもそも、必ずしも1テーブルに紐づくモデルが必要では無いしな SQLを直接動かすならモデル不要のテーブルもあるだろうし
>>232 モデルってなんなのか知ってて言ってんの?
知らないから言ってんだろうけど
新しいバージョンつかったりしていないと話題ないなw 未だに6のままプロジェクトやってるし
以前.envのコミットで荒れまくってたけど皆はどうしてるのか教えてください。 コミットするしないはとりあえずいいんですが、大抵、本番とステージ2環境くらいはあると思います。 その場合この異なる環境の.env情報をどのように管理しているのかなと。 ※さくらみたいなレンタルVPSにデプロイすることを前提としていまして、AWSのパラメータストアみたいな機能はないものとします。 ・Apacheなどの設定ファイルにそれぞれ環境変数を設定する。 ・それぞれの環境で.envファイルを設置する。 ・本番はconfig直書きでStageは.env ・.env.prod, .env.stg を用意する また.envで管理する情報を履歴管理したいという要望もあるんですが、これについてもいまいちベストな方法がわかりません。 そもそも履歴管理なんてしてないとか、別リポジトリで管理してるとか皆のやり方を教えてもらえると助かります。
何をそんなに難しく考えているのかわからん WordPressだってwp-config.phpをサイト毎に用意するし、 バージョン管理だってするだろ。.envも同じことじゃん
>>244 ご回答ありがとうございます。
確かにメジャーなCMSだとクレデンシャル情報がconfigに直書きが多いのでそのまま使いますよね。うちも同じです。
後出しになってしまって申し訳ないのですが、クレデンシャル情報はソースに含めたく無いことと、ソースと同じリポジトリで管理したく無いという思いがあります。
laravelであればこれらの要望は実現可能ですよね。
サーバの設定ファイルを修正することが可能であれば本番やステージのクレデンシャル情報はサーバ側で環境変数として定義し、その情報は外部とは隔離されたサーバで履歴管理するというのがベターなのかなと個人的には思っています。
ただサーバの設定変更が出来ない場合などもあるのでその場合はconfigや.envで対応することになると思います。
このようなケースバイケースのナレッジ的な情報が欲しくて皆のやり方が知りたかった次第です。
>>245 自身で書いてる通り、ケースバイケースなのでベストはないですよ
前に話題になったときに、「ケース」の紹介もあったから見直してみるのが良いかも
一般論として、思いつくままに書いてみます
.env には環境独自の変数を定義するので、その環境の成り立ちで管理方法が変わります
環境を表す変数としては以下な感じかなぁ
1.サーバの種類(prod, stage, local etc),
2.ミドルウェアの接続情報
3,.その他開発中に書き換えるやつ(debug, logレベル)等
1は固定、3は管理する必要はないので、2を履歴管理すべきかを検討することになるんだと思うけど、セキュリティポリシーとミドルウェア管理の主体によって管理手法は変わります
セキュリティポリシーは2を誰に見せてよいかがポイントになります
まず、プログラマー/インフラエンジニア/委託先/外部サービス等々、誰にどこまで見せてよいかで判断することになるかと
また、管理主体が例えばインフラエンジニアであれば、.envをプログラマーが管理することはありません
まーアラシがうざかったけど、有益な情報もあったので、やはり過去ログ見るのが良いかなぁ
.envってDBのパスワードやら書かれてるし、 管理するにしても非公開なローカルリポジトリで管理するくらいしかないでしょ
>>246 ご回答ありがとうございます。
過去ログは一応見てみたんですよね。
ただ.envコミット派vs非コミット派、12factor遵守派vs案件別臨機応変派の対立が酷くてなかなか具体的な管理方法というか運用方法がでてこなかったような、、、、。
親切な人がある程度でた意見をまとめてくれていたんですが、もっといろんな意見を聞きたいと思いまして。
ですので貴重なご意見ありがとうございます。
仰る通りセキュリティポリシー等決まっていればそれに従うのですが、エンドユーザや一次受けがそのあたり何も知らないケースも結構あるので、そういった場合はこちらから245のような提案をすることもしてます。
この提案する際のガイドラインというかナレッジをためていきたいのです。
もう一度過去ログじっくり読み直してみます。
>>247 ご回答ありがとございます。
クレデンシャル情報の管理はやっぱりそれがベターですよね。
ちなみにうちの場合は皆リモートワークなのでそういうわけにもいかず、dns登録してないレンタルサーバでgitlabで運用してます。
非公開のレポジトリでも.envはあんまりソース管理に入れたりしないけど 現場次第じゃないのかなぁ .env.prodみたいな別ファイル名で管理しているのは見たことあるわw
ログイン機能があってもなくても成立する機能(コメント)を考えていますが、 この場合、 ・ログイン無しの状態をとりあえず作ってみて、ログインありで要素を足す ・ログインありの状態を完全に作ってしまう どちらが良いでしょうか?
クッキーが無い時に新規ユーザー作って認証させてクッキーにユニークなトークンでも保存させておいて 以後、そのクッキーのトークンがあればそのユーザーとして扱うぐらいしか無い気がするが 勿論クッキー消されると識別出来ないが
laravel sailって利用してる? 試しに使ってみたけど導入する段階でcomposer=phpのインストール環境が必須だから、それならdockerでええやんってなるんだが
>>253 docker-compose.yaml書いたりしなくていいからお手軽ではあるかと。
dockerとかhomesteadとか仮想環境は難しくて無理や
>>256 homesteadは割と簡単な方やで
virtualboxとvagrantインストールするぐらいで
後はhomesteadをgit cloneして指示通りコマンド叩くだけや
Laravelなのにcakephpのように書くおっさんどうにかしろ あとコントローラだからってドメイン単位で1クラスにアクションメソッドなんでもかんでもぶち込むんじゃねえよ 見辛いだろ
画像アップローダを作っています
input type=fileで複数画像を選択→
jsで、「formをappendで生成」+「サムネイル表示」という動作になっています。
この場合、
{{ csrf_field() }}
はどのように挿入すれば良いでしょうか?
もしくは、csrf_field()で生成されるinput要素のvalueだけ取得するような方法があれば、
教えてください。
すいません、見つかりました csrf_token()でした、お騒がせしました
POSTした時のデバッグってどのようにされていますか? viewを仮に作って、controllerからviewへ値渡して確認、などでしょうか
すいません、controller内部でddd()すればいいだけでした
ちゃんと調べられる人はこんなところなんか利用しないのだから別にええやろ
ddd()とかでデバッグするよりxdebug導入すればいいだけなのに 初心者の方が助かるやろ
Controllerってどのような形で分割・統合すると良いでしょうか 掲示板の場合、 ・postcontrollerの中に、postやdeleteなど投稿に関する全ての操作を置く ・postcontroller_deleteなど分割する などで迷っています なにか指針のようなものはありますでしょうか
プロジェクトによって違う そのへんはLaravelのルールというよりは設計思想になるのでその関連の文献などを参考にするといい
その投稿に関する操作に種類が色々あるなら分けるだろうけど 単に取得、書き込み、削除ぐらいしか無いなら一つのコントローラで書くかな
>>270 >>271
ありがとうございます。試行錯誤してみます。
あと別件ですが、ページネーションの矢印がやや大きいのですが、
なにか設定とかあるのでしょうか?
https://imgur.com/a/PXLmSbg 自作のcssが干渉しているわけではないようです。
諦めてcssを上書きした方が早いでしょうか
>>268 laravelみたいなでかいフレームワークだとxdebugは情報量がありすぎてしんどいから使ったこと無いんだけどどんなとき使うの?
2月に10出るけど、もう追うの辛いわ PHPも8.1になるし
実質はマイナーバージョンを上げてるだけで大したバージョンアップしてないから追いかける必要無い
ローカルで作成したものを、そのままサーバーにコピーするだけでは動かないのでしょうか
まあ、まず動かないよね 動けばラッキーレベル ローカルの環境をサーバーの環境に合わせて同じにしてるなら動くかもだが
>>273 重くはなるけど、ブレイクポイントや変数のウォッチ、バックトレースなど見れるだけで
デバッグ作業はかなり楽になるけどね
むしろLaravelの開発だからこそ導入したい
>>276 FTPでアップロードってことだろ?普通に動くよ
WordPressなんかと一緒だよ
>>276 無理
まずpublicの位置が違いすぎる
シンボリックリンクを作成する必要がある
更にhtaccessも必要になるだろう
pulicの中に全部入れてhtaccessだけでどうこうしようってのは絶対にやめよう
構成全く同じならいけんじゃね、それこそOSの細かい設定値までとかそういう勢い まずそんな環境で開発しないけどな
>>278 そうなんか
Debugbarとtinkerで事が済んでたんでlaravelでは使ったことなかったんだけど導入検討してみるわ
開発環境も色々ありすぎて、どれにするのが正しいのかわからん
オッサンだけど女の子に生まれて百合恋愛がしたいだけの人生だった、女の最大の特権って百合ができる事だよな
>>285 ラクなのはXampp
本格的にならRH系のLinuxをVBoxに入れる
間を取るならWSL2
個人的にはWSL2でいいかな、AlmaもUbuntuも使えるし
XAMPPは最初は楽だが、デプロイメントとか考えたら決して楽ではない 初期学習用だね、仕事ではさすがに使えない
> 彼らはよく、社会に貢献したいと口にする。 > なんでも社会悪のネトウヨを自殺に追い込むことが、社会に貢献することなんだそうで。 > イジメや嫌がらせで社会に貢献できる教師や警官になるために、あえて帰化したんであって、祖国同胞を裏切ったわけではなく、心は●●人なんだそうだ。 > > 昔は帰化すると裏切り者と呼ばれたりしたが、祖国に国籍を残したまま帰化する方法が確立された現在では、社会に貢献するためにむしろ帰化することが推奨されている。 > 拳銃所持で前科のある生粋の反日家ですら、今では普通に帰化している。 > > ●●学会などはネトウヨ認定した日本人を盗撮して、痴漢の写真だと言ってばらまいている。 > それらの写真は、集団ストーカーに使用される。 > 彼らは集団ストーカーを、[地域で子供を守る安心安全パトロール]と称している。
個人的にはやっぱりhomesteadが一番楽かな boxダウンロードして起動すればLaravelは勿論多分PHPでの必要な環境はほぼ入っている xdebugは設定しないと使えないけどね
homesteadとかdokerって、イメージはわかるんだけど 解説サイトの説明を読んでもわからんのはなぜだ
homesteadは
https://readouble.com/laravel/8.x/ja/homestead.html で書かれている通りだからそんなに難しくは無い気がする
一度試してみるといいかも
鯖立てられるぐらいの知識はあるけど、homesteadは理解できん
フレームワーク便利? 自前のソース使いまわしていつもつくってるわ
>>296 それでうまくいってるんなら、それでいいじゃん
自社開発や個人開発なら別に何使っていても良いけど 個人的に仕事で一から作る場合は何も考えずにLaravel使うわ フロントはVueとか使うから、結局はAPIとしての利用が大半になるけど
>>298 お問い合わせフォームとか小規模なものはどうしてる?
DB使うなら利用する もうフレームワーク使わずにいちいちコネクションから書くの面倒くさいし
>>300 そうなるとデプロイするとき面倒なんだよなぁ
お問い合わせフォーム程度ならファイル数も少ないから
サーバのWebアップロード機能でも設置できるけど、
Laravel使うと環境作りから面倒事が増える
そうか? 普通にgitとかEBとか絡めれば大して面倒なことないと思うが
確かに少ないファイルをアップするだけで終わるのが楽だけど そこまで小規模開発ってあんまり無い気がする いくら小規模でもデータベースは使うし認証もあるしで 結局はLaravelを導入しておいた方が作り方が決まってるし引き継ぎもやりやすい気がする
>>303 例えばキャンペーンの申し込み用フォームとか、
ランディングページで使う程度のフォームが必要になる場合がある。
DBって言ってもSQLiteで足りる程度ではあるし、
PODで書けばそんなに手間はかからない。
そんな状況下でLaravel導入して環境構築するのは躊躇するわ
LP用のフォームだけなら外部サービス使うかなぁ わざわざそれだけのためにphpの動くサーバ使うのめんどい
Googleフォーム使うのが定番だけど、意外と自由度低いからなぁ LPなんてただでさえ胡散臭いのに、ドメインが変わるのも気になる
Netlifyとかだとフォーム用のツール用意してくれてるしCORSも気にしなくてよかったはず スパム対策とかおまかせになっちゃうけど、正直ペライチにそんなに工数もらえないから便利に使わせてもらってる
eloquentで子テーブルを一括で登録/更新/削除したい場合は皆どうしてるの? 例えば部屋に複数の写真が紐つく場合とか、部屋の編集画面で写真の追加や削除なんかをすると思うけど、方法として紐つく子レコードを一括削除して一括で登録はしたくない。 操作してない写真のタイムスタンプはそのままにしたいので。 編集画面から送信される削除フラグや子レコードのpkとかを使って1件ずつ処理する感じなのかな? saveManyとかで複数登録なんかは出来そうだけど削除まではしてくれないよね? ちなみに物理削除を想定してます。
結局は一件ずつ処理してるわけだし、シンプルに書いた方がわかりやすいよ
多対多の場合はsyncとかがあるから同じような便利な方法がないかな?とおもったんだけどなさそうなのね。 ご意見ありがとうでした。
求人情報を見ているphpの場合はLaravelがほぼ必須になっているので現在学習中です。 Youtubeのハンズオンで実際に作りながらやっています。 ログイン認証が自動で実装されるのですが、Yahoo!のようにユーザーが使用しているデバイス、IPアドレスがいつもとは変わった時だけ2段階認証にするのは簡単に出来ますか? 素のphpならuserテーブルにユーザーエージェント情報、ログイン日時を保管して置きログインの際に比較してユーザーエージェント情報が異なればメールでパスコードを送信してログインに続いてパスコードを入力させれば良いしあまり手間もかからないです。
>>314 ユーザー毎に接続元IPをDBに保持できるだろうけど企業内PCからのアクセスはプロキシのIPアドレスでみんな同じになって個人判別誤検知しそう
>>316 ありがとうございます。
出来るのであれば後は自分で調べます。
cookieかlocalstorageでも使えばやりたいことは出来るけど そもそも二段階認証の実装の方が大変なのではw
で、Laravel10は今月でるのか?全然話題にならないが
ついこの前9が出たというのに こんなに頻繁なアップデートいらんだろ
正直進化させる所が殆ど無くなってきていて最近は開発者の自己満みたいな新規要素が多すぎる気がしなくもない それなら、もっと分かりやすくするとかそっち方面で改良して欲しいなぁ
デフォでGoogle認証以外の2段階認証入れてほしいわ
>>323 軽量化してほしいわ
なんやかんや余計なファイルが多すぎる
8.1が前提になってるけど、AWSとかクラウドで動作させること前提なのかな? 汎用的なレンサバだと対応していないのもあるだろうし
そもそもレンサバだとLaravel動かすのきつい コマンド叩いてもメモリ不足とか怒られたりするみたいだし 8.1強制含めて素人お断り感が強くなった
エックスサーバーなら一番下のプランですら仮想6Core、メモリ8GBもあるから十分じゃない?
レンサバはPHPのmemory_limitの上限が低いのでは? 同居してる数かなり多いだろうし、簡単に上げられないだろう
エックスサーバーであればmemory_limitは変更できるよ 他のレンサバも変更できるものもあると思う
>>327 確かにそれはあるかもな
Lumenみたいな軽量版を公式が用意してくれると良さそうだけどね
リリース遅れたりするから、要望うんぬんよりとりあえずスケジュール守るか告知はしてほしいw
最近どのフレームワークもサポート期限短いからなー。 リリースして2年しか保証しないのが普通になってる?
短いよね。出すんならサポートもしっかりやってほしいよ
>>340 一番サポート期間が長いと思ってた.Netも、Coreになってから短くなっちゃったし。今一番長期で使えるフレームワークはなんだろう。
phpのメジャーなバージョンと同じくらいのサイクルにしてほしいっす
10かw 9ですら触って来てない(仕事は6のままだし)からどうでもいいけどw 11は予定だと2024のQ1らしいから今後は一年おきぐらいか
>>344 仕事でサポートのない6使っても問題ない?
>>345 もう4年ぐらい前から開発しているから
今更バージョンアップとかって話にはならないなぁ
今担当者俺一人だしw
>>347 もうLSTって扱いはなくなったんだな
基本、1バージョン最大2年までのサポートとなると
実務で使いづらくないだろうか
リリースが1年毎になったし、その都度最新バージョンにしてねって事だろうな
動き出してるプロジェクトなら、頻繁にバージョンアップできないのにな
結局は途中でバージョンアップなんて今まで一度もしたことない よっぽどセキュリティ的な問題があればするしかないだろうけど (log4jみたいなの)
上にも書いてる人いるけど、6辺りでも十分だからな 10にすると劇的に速度がアップするわけでもないし、 セキュリティに問題なければ古くても大丈夫だわな
問題がないってのの判断基準聞かれると困るから、新規導入は最新にするけどね
新規導入の学習コスト、既存プログラム流用の難しさを考えると 旧バージョンの方が安定感あっていいと思うけどなぁ
そろそろこんな質問が出てくるかも Laravelってどのバージョンがオススメですか?
6でも全然OK PHPのバージョンが選べない環境ならそれに合わせるしかない 新規プロジェクトなら素直に最新バージョンにしておいた方が良いとは思うが 自分で色々解決出来ないなら、新規でも前のバージョンを検討した方がいいだろうな 従来のプロジェクトの追加開発案件でバージョンアップしろと言われないなら俺ならしないw
まだまだPHP7多いからね。PHP7.4のOSサポートはまだあるし
ゆうて純粋にLaravelのバージョンが新しすぎて困ることは知識不足以外なくね? ちょっとコード追えば分かる感じ むしろ新しいバージョンを導入出来ないとき、PHPのほうが問題になってることが多い気がする PHPが厳格になってきててライブラリとかがエラー吐くようになったとかそういうパターンが典型的な気はする
来月10対応の初心者本が出るみたいだな 今度は基礎をじっくり教える内容を願う いきなりAWSやらDockerやら言われても 環境用意する段階で詰むからな
PHP8のmatch式とかnulllsafe演算子とかコンストラクタのプロパティプロモーションとかガンガン使ってるわ もう戻りたくない
>>361 単純にシンタックスシュガーでおまじないが減るのと
三項演算子とかmatch式とかnullsafe演算子とかLaravel Collectionとか駆使すると
「変数 = 式」でほとんどの処理を表現できるから可読性が上がることじゃないかな
ifとかswitchとかなるべく使わない方がバグも減るし読みやすくなる
でも、ifとかswitchとかわかりやすくないか?他の言語でも使うし
switch/caseは他の言語とは別もんだぞ ゆるい比較が元になってるから使う場所を選ぶ いちいちゆるい比較で良いか考えるのが嫌だから、できるだけ使わない人が多かった
>>363 他の言語のいい仕様を取り込んでる訳だからその指摘にはあたらない。
ifだけを使って深くネストすると分かりづらいコードになるし、条件ごとに長い処理をダラダラ書いていく悪いコーディングに人を導く。
phpのswitchは緩い比較だからそもそもバグの危険性を持ってる。
matchはケースごとに1文しか処理を書けないからifやswitchみたいに中にダラダラ処理を書けない。
じゃあどうするかを考えれば自然に責務の重くない読みやすいコーディングに人を導いてくれる。
同じ変数への代入を何度も記述したり、再代入しまくる悪いコードも減る。
Laravelのドキュメントとか見ても良いコーディングをしていることが分かるはず。
ChatGPTにswitchとmatchどちらがいいか聞いてみたら
>>365 のような返答が帰ってきた 最近のAI凄いな
アサルトシンクロンはいつもスピリット蘇生でお世話になっている
Laravelってアメリカとか海外でも使われてたりするの?
誰もそんな事書いてないが トレンドの話をしてるんだよ
>>372 現在はほぼアジア圏でしか使われていない
昔はLaravelといえば全世界で使われていたけど今はSymfony6が海外ではメジャー
>>376 ありがとうございます。375と違ってすごく参考になりました
たしかにLaravelダメすぎだな
まあphp自体伸びる理由があまりないしな Laravelはよくキープしてるよ
アメリカのトレンド検索したら、Pythonが圧倒的だった
バックエンドだけLaravel使ってる人います? Laravel側でjsonを生成して、フロントで受け取るみたいな
>>387 それはLaravelにフロントもバックエンドも任せてね?
今のプロジェクトはSPAで一応Laravelで一つだけのページは返すけど 基本はAPIの為に使っている フロントはvueでやってる
やっぱLaravel使いはvueが多いよね ReactやAngulerよりも使いやすいのかな
皆がvue使ってるから選択している安直な理由だと思う
ららぼ〜、実際に使ってみようかと思っているんだが、メジャーバージョン アップが頻繁すぎて、ちょっと怖いでござるよ。 先輩諸氏はそのへんどうしているのござるか?
Laravelは今でも開発が続けられておるでござる。新しい機能や改善を含んだメジャーバージョンアップが頻繁に行われているのじゃ。 しかし、アップデートすることで新しい機能や改善を取り入れることができるのじゃから、先輩方はちゃんとバージョンアップを行っているのじゃ。 ただし、アップデートにはリスクもあるから、事前にテストを行って問題が起きないか確認することが大切じゃ。 LaravelにはLTS(Long-Term Support)版もあって、安定したバージョンを選ぶこともできるのじゃ。 だから、プロジェクトによっては新しい機能を必要とせず、安定性を重視する場合はLTS版を使うこともできるのじゃ。 でも、新しい機能を取り入れたい場合は、定期的にバージョンアップを行って最新の機能を活用することも大切じゃ。
>>395 Taylor OtwellがLTS版を仄めかしだしたから多分復活する
問題はどれに復活するかだな 今後のバージョンに復活するのか、既存のバージョンになるのか 個人的には8をLTSにしてほしいが
復活するなら次の11か最新の10じゃね? 過去のバージョンは流石に無さそう
質問書こうとしたら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の記述を出せば解決するのですが、 何かありそうなので、もし知っていたら教えてもらえますでしょうか。
以下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 での編集ページへのアクセスが可能になります。
「絶対にガンダムに例えて要約しろ」って言ったのに例えてくれなかったです。 しかも微妙にズレてる気はしなくもない。 ↓回答 質問者がLaravelでルーティングを設定する上で、group化されたresourceルートでidを指定してeditアクションを呼び出したいが、 URLにおいてidを指定するとnot foundになってしまうという問題が発生しています。 これは、ルーティングパラメーター名がcustomerであるために起こる問題であり、idに変更することで解決できます。 具体的には、Route::resourceの第二引数にparametersメソッドを使ってidを指定し、 editメソッドの引数も$idに変更する必要があります。 これにより、URL customers/1/edit での編集ページへのアクセスが可能になります。
>>399 の質問投げたらCahtGPTが答えてくれたの!?
それは凄いな。ものすごく専門的な質問じゃん
GPTの登場でweb屋で食ってたのもいよいよおしまいか プログラマ続けても安い扱い受けるだけだから別の職に就くか
今までWEB屋で食ってた人の単価 chatGPTを使いこなしてWEB屋と同じレベルのものを生成する人の単価 前者のほうが圧倒的に安いからまだ大丈夫
「ChatGPT使っていいから単価1/10でやって」 「ChatGPT使っていいから今日中におねがい」 「ChatGPT使っていいから検収やっといて」
「ChatGPTが正しいかどうかをテストする要員を追加したく」
で、不具合が出たとき、ChatGPTのせいだからしかたないね〜とはならず、 担当者のせいになる
ChatGPTが1から10までやってくれるわけじゃないのに
今はまだ結構間違ってるからねえ でもそのうちフレームワーク自体がそれらを利用するようになるかもね いまのartisanコマンドが進化するイメージ
ちゃんと要件を欠けば、コードが生成されるみたいな でも、アホな蔵相手だと要件がいつまで経っても決まらないし、二転三転する から、永遠にリリースできないのは今と同じかも
windows環境で laravelをxamppで実行できる環境作ったが当初動かなかった composerをインストールし直したりした 結論はhtdocsの中に作れって事だった しかし今度はzip展開できないとエラーが出たので 検索してphp.ini内のextension zipのコメントアウトを外して読めるようにしろとあったので 直したらまあうまく行った、らしい とこんな出来の悪い自分でも出来るっぽいので ChatGPTならもっとサクサク作るのか
XAMPPという初手からして間違ってるからなぁ AI云々以前じゃね?
Udemyとかのコースはxammpだからむしろ多いんじゃないか
そうなるとゼロからLaravelだけ学ぶ感じか 短期的には仕事を貰えるかもしれないが基盤技術を学ばないなら技術者としての寿命は短そうだな
公式ドキュメントをChatGPTに学習させればLaravelの開発できるかもね
Windowsの人はせめてWSL2は触れないと厳しかろう 仕事でxamppってフレーズが口から出てくる人いたら、 それはもう危険よね
今日発売のLaravel10の本買った そこでもSail説明してたから、これを機会にXamppは卒業するわ
今まで6使ってて10の勉強してるんだが、あまり変わらないんだな 強いて言えばBladeコンポーネントぐらいか これ使わなくてもビューは作れるし、少しずつ移行できそうだ
Laravelってfulljoin無いの? 探しても見つからない… 誰か助けて…
bingに 「aravel breezeに2段階認証を追加する方法を詳細に説明せよ。」 と言ったら、 Laravel Breezeには2段階認証機能はついていないようです1。 しかし、Laravel Jetstreamをインストールすると、 ログイン、新規登録、メール検証、2段階認証、セッション管理、 APIサポート(Laravel Sanctum)、チーム管理などが提供されます2。 Laravel Jetstreamの導入方法は以下のQiitaの記事を参考にしてください2。 詳細情報: 1. bing.com 2. qiita.com 3. blog.capilano-fw.com 4. qiita.com 5. reffect.co.jp 6. prograshi.com 7. biz.addisteria.com 8. biz.addisteria.com 9. qiita.com 10. bing.com 11. webopixel.net +8 その他 2段階認証するためには「Laravel Jetstream」をインストールするのが無難ですか?
環境作って要件満たすか検証すりゃいいじゃん 嫌なら自前で作ればいい
composerのパッケージ検索で二段階認証ぽいのは結構あるけど 要件に合ってなきゃ意味無いしね Google認証システムを使う奴なんかはググレば直ぐ見つかるし SMSでパス送る奴よりは作りやすそう
sailってphpとcomposerがホストマシンに無いと動かないポンコツ仕様はなんとかならんのか
sail、バージョン指定できないのが辛い 常に最新版で開発したい人って多くないだろ
10で編集・更新について教えてください。 $post = Post::find(1); $post->name = $request->name; $post->address = $request->address; $post->comment = $request->comment; $post->save(); こんな感じで書けば更新はされるのですが、 更新したいカラムを全て書かなければいけないのでしょうか? カラム数が多いと手間ですが、省略できる書き方があれば教えてください。
>>434 モデル側でfillable設定してから
$post->update($request->all());
これでできるけど
フォームリクエスト使ってこうした方が良い
$post->update($request->validated());
ありがとうございます。このやり方でできました。 $post = Post::find(1); $post->fill($request->all())->save();
fillable設定ってどれだけカラム数があってもするべきですか?
>>438 fillableがなぜ存在するかを理解してるなら
100カラムだろうが1000カラムだろうが必要ならするべきって結論に至るはずよ
他の方法でguardedに空配列って手もあるけどお勧めしない
> すべての属性を一括割り当て可能にしたい場合は、モデルの$guardedプロパティを空の配列として定義します。
> モデルの保護を解除する場合は、Eloquentのfill、create、およびupdateメソッドに渡たす配列へいちいち特別な注意を払う必要があります。
Laravelに、CakePHPでいうCounterCacheのような機能ってありますかね? 関連するテーブルが追加されたらカウントアップするみたいな 調べても単純なカウントアップはあるのですが、 自動カウントはなさそうなので困っています。
>>445 CounterCacheがどんな機能なのかわからないけどオブザーバー使って実現できるんじゃないかな
>>446 オブザーバーで、save/update後に登録数をcountするようにします。
単純な方法ですが、既存のCounterCacheも同じような仕組みなので
このやり方がベターなんだと思います。
phpstormって何でlaravelのサポート削除したの?
マイグレーションのintegerにZEROFILLを指定したい場合、どう書けばいいのでしょうか?
>>449 無理やりやればできるけど基本的にはやらない方がいい
理由はMySQLの機能なのでDBをpostgressとか他のストレージエンジンに変更した場合
マイグレーションでエラーになるかその機能が付与されない
実現する場合はモデルでその機能を実装する
>>450 そうですか。それならstringとかcharにして文字列として扱います。
zerofillでググったらmysql8.0からintのzerofillが非推奨になってるみたいだね
例えば外部APIやローカルファイルがデータソースだった場合で、Modelの機能だけを使いたい場合ってどうしてます? 使いたいのはキャスタ、アクセサ、ミューテタ、状態管理辺りの機能 良い方法が無くて自作したんだけどベストプラクティスがあればそっちに変えたいんです
それはLaravelのいうところのModelにはならん気がするけど、それをどこに置くかってこと?
機能としてはDTOが一番近しいんだけど Modelと同じ使用感でattributes、fillable、hiddenとか設定できたり 既に資産として存在するカスタムキャスタを使ったりしたい
社内データを元に原価予測等の傾向分析を含むWEBサイトを開発するとしたら データ分析部分はPythonでやらせるとして、 WEBはPHPかLaravelで分析ロジックはexe化したpythonプログラムをPHPのexec関数なんかで呼び出すか、 またはWEBをDjangoで分析ロジックも含めてコーディングするか、 あたりの2案その他を考えていますがどっちが良いか悩みます 開発やメンテ容易性、レスポンスなんかで考えるとどれになるのかなと AI分析を絡めたWEBサイトの案件は多くなりそうですし、フリーのフレームワークで安価に構築したい要求もありますしね
データ分析時間がどのくらいか知らないけど、時間かかるようならバッチ処理したデータ分析結果をWEBで見るやり方かなあ
フォームを検索するときに、コントローラで $post = Post::query(); if ($request->query('name')) { $post->where('name', $request->query('name')); } $result = $post->get(); みたいな書き方をしているのですが、 フォームの項目が増えるほどIFも増えて冗長化します。 良いライブラリとかコンポーザのパッケージはないでしょうか?
>>460 一番雑で簡単な返答はFormRequestでバリデーション入れて
Post::query()->where($request->validated())->get()
なんだけどこれは実践だとクソの役にも立たないのでやっちゃダメ
自分の実装を簡単に書くと例えば下記の方法
ModelにScope作る
public function scopeSearch(Builder $builder,array $params ):Builder
{
$builder = $this->scopeSearchName($builder,data_get($params,'name'));
return $builder ;
}
public function scopeSearchName(Builder $builder, $name ):Builder
{
if( blank($name) ) {
return $builder ;
}
return $builder->where('name',$name ) ;
}
コントローラーで呼び出す
Post::search($request->validated())->get()
個別に使うなら
Post::searchName($request->query('name'))->get()
>>461 モデルごとにこれを書くなら、IFで書く場合と大差ないことないですか?
あと、$request->validated()ってバリデーション通すのはなぜですか?
検索でバリデーションをすると、requiredでひっかかりそうですが
>>462 > モデルごとにこれを書くなら、IFで書く場合と大差ないことないですか?
「IFで書く場合」ではなく「コントローラーに書く場合」として回答すると
大差ないか?という事であればベストプラクティスとバッドプラクティスの差がある
コントローラは単一の責任だけを持たないといけないのでモデルの検索ロジックがコントローラーに書かれていることがおかしい
以下ChatGPTの回答
検索ロジックをコントローラに書いてしまうと、コントローラが複雑になり、保守性が低下する可能性があります。
以下に詳しく説明します。
1. コードの可読性が低下する
コントローラに検索ロジックを含めると、コントローラの役割が複雑になり、コントローラのメソッドが大きくなり、可読性が低下する可能性があります。
コントローラの役割が明確でなくなるため、コントローラの修正や保守が困難になる可能性があります。
2. テストが困難になる
コントローラに検索ロジックを含めると、コントローラのテストが困難になる可能性があります。
コントローラに含まれる検索ロジックは、外部の依存関係を持つ可能性があり、依存関係をモック化する必要があるため、テストコードが複雑になる可能性があります。
3. 再利用性が低下する
コントローラに検索ロジックを含めると、再利用性が低下する可能性があります。
コントローラは、Webアプリケーションの特定の機能を担当するために設計されており、その機能に特化した責任を持つように設計されるべきです。
検索ロジックがコントローラに含まれると、コントローラが特定の機能に依存してしまうため、他の機能で再利用することが困難になる可能性があります。
以上の理由から、検索ロジックをコントローラに含めず、別の場所に分離することをお勧めします。
例えば、リポジトリパターンを使用して、データベースからデータを検索する責任を持つクラスを作成し、コントローラからはそのクラスを呼び出すようにすることができます。
これにより、コントローラは単一の責任を持ち、コードの保守性が向上し、テストの容易性や再利用性が高まります。
>>462 続き
> あと、$request->validated()ってバリデーション通すのはなぜですか?
入力値の操作ができるので入力値に関する責任をコントローラーから切り離せる
https://readouble.com/laravel/9.x/ja/validation.html#preparing-input-for-validation 要するに検索項目に入れたくないパラメータやら値を省くことができる
> 検索でバリデーションをすると、requiredでひっかかりそうですが
nullableを使えばよい
>>462 一応ChatGPTの回答
検索リクエストの値をバリデーションする理由は、以下のようなものがあります。
1. 検索クエリの安全性を確保するため
検索クエリに含まれる値が適切にバリデーションされていない場合、悪意のあるユーザーによってSQLインジェクション攻撃などのセキュリティ上の問題が引き起こされる可能性があります。
バリデーションを行うことで、入力された値が予想されるフォーマットに一致しているかどうかを確認することができ、攻撃を防ぐことができます。
2. 検索結果の品質を向上するため
検索クエリに含まれる値が適切にバリデーションされていない場合、意図しない検索結果が表示される可能性があります。
たとえば、数字のみを入力することが想定されているフィールドに文字列が入力された場合、検索結果に誤りが生じる可能性があります。
バリデーションを行うことで、検索クエリが適切に構成されているかどうかを確認することができ、正確な検索結果を得ることができます。
3. UXを向上するため
検索リクエストのバリデーションにより、ユーザーが誤ったクエリを送信してしまった場合にエラーメッセージを表示し、適切な入力を促すことができます。
これにより、ユーザーのUXが向上し、検索エラーを減らすことができます。
以上のような理由から、検索リクエストの値をバリデーションすることが重要となります。
確かにコントローラに検索ロジックを書くと複雑になりますね。 管理画面用のコントローラと公開画面用のコントローラで 似たようなソースを書いてるので余計に無駄です。 検索バリデーションについては思うところもありますが、 とりあえずベストプラティクスに近づけたいので 出来る範囲で対応したいと思います。
すみません、スコープ作った場合でも、 public function scopeSearchName($query, $name){ if ($name !== null) { return $query->where('name', $name); } } みたいにIFで判定するのは仕方ないんですかね? また、検索項目が複数ある場合、 User::searhName($request->query('name'))->searhType($request->query('type'))->searhBirth($request->query('birth')) みたいにどんどん長くなるのも仕方ないんですかね?
>>467 > IFで判定するのは仕方ないんですかね?
これって値が空の場合検索条件追加しないでクエリビルダを戻すって事やってるから
値の有無関係なく検索する必要があるなら(nullを検索したい場合には)条件分岐しなくとも良い
というより何をどう検索したいかによってScope内の処理は変わるから何とも言えない
> 検索項目が複数ある場合
> どんどん長くなるのも仕方ないんですかね?
コントローラー内からシンプルに呼び出せる様にscopeSearchを書いたつもりなんだけど
public function scopeSearch(Builder $builder,array $params ):Builder
{
$builder = $this->scopeSearchName($builder,data_get($params,'name'));
$builder = $this->scopeSearchType($builder,data_get($params,'type'));
$builder = $this->scopeSearchBirth($builder,data_get($params,'birth'));
return $builder ;
}
とりあえずスコープの勉強が足りないことはわかりました 色々と試行錯誤してやってみます。ありがとうございました
クエリビルダでwhen()があるので if()で条件判定して追加するよりはスマートな気がする データが入ってないと検索条件が増えないようなものには俺の場合はwhen()で対処している 良くある検索条件が複数あって未入力はパスのようなやつね
>>470 どういう書き方になるのでしょうか?
>>468 の書き方を採用しているのですが、
if (data_get($params,'name') !== null) {
$builder = $this->scopeSearchName($builder,data_get($params,'name'));
}
な感じでIF入れてます。IF入れないと$paramsに存在しない場合エラーになるので。
APIサーバーとしてLaravelを使用してるけど、Laravel Sanctum良いね 認証処理が一瞬で構築できる
オブジェクトのことよくわかってなかったんだが、 $user = User::find(1); $old_user = $user; $user->update($request->all()); ってすると、$old_userの中身が更新済みの値に変わるんだな。
ミュータブル、イミュータブルという言葉で調べてみると良いかも
>>474 $user = User::find(1);
$old_user = clone $user;
こうするのね。勉強になった
というかオブジェクトだからとかあまり関係ない気はするけど、大丈夫ならいっか
変数の命名規則ってどうしてる? キャメルケースにしろという説明もあれば スネークケースの方がいいというのもあるけど。 自分はメソッドと区別するためにスネークケースにしてる
>>478 > キャメルケースにしろという説明
これってどこにある?見たことない
>>479 「laravel ベストプラクティス」でググった一番上のページに書かれてますよ
>>478 その説明だとPSRに従った上で変数はキャメルケースを推奨してるからキャメルケースでいいんじゃないかな
自分としてはメソッド名、クラス名と同じ方がキャメルケースのがやりやすいかな
>>481 公式もキャメルケースなんですよね。
ビューでforeachするときに
@foreach ($userProfiles as $profile)
$profile->name
@endforeach
みたいに書くのはどうかと思った(テーブル名はuer_profles、モデルはUserProfileなのに)
のですが、PSRや公式に従うならキャメルケースの方が良いですかね
あと、テーブルのカラムはfirst_nameみたいにスネークケースにするのに、 変数はキャメルケースだから、findの値を比較するときに ($firstName === $user->first_name) となるので、おかしくないか?とも思いました。
カラム名ってわかるからまあいいかな、って感じ 逆に他に変えるとその方が色々おかしくなりそう
$user = User::with(['posts'])->first(); $user_id = $user->id; ってコントローラーでしたら駄目なんですか? vscodeさんがUndefined propertyってエラー出してくるんですが
>>486 > vscodeさんがUndefined propertyってエラー出してくるんですが
おそらくエラーじゃなくて警告だと思うけど
Userモデルにプロパティが設定されてないって言ってる
出ない様にするにはPHPDocの書式で必要なプロパティを書いてあげればいいはず
例えばこんな感じ
/**
* Class User
*
* @property int|null id
*
* @package App\Models
*/
class User extends Model
>>486 それからこの書き方だと
usersテーブルにレコードが無い場合エラーになるでしょ
>>487-488 レコードの有り無しはともかくとして、
リレーションのwithをつけるかつけないかで警告が出ます
UserモデルもPostモデルも存在するのに
他にも記述は合ってる(値は取得できる)のに警告が出るし、
vscodeさんって結構厳しいんですね
>>489 vscodeが厳しいんじゃなくてあなたが緩いのでは無いかと
もっと型と変数の状態を意識するとよいと思うよ
> 他にも記述は合ってる(値は取得できる)のに警告が出るし、
値は取得できる「可能性がある」なので警告がでるんです
100%値が取得可能な状態であれば警告は出ないはず
これは値チェックとか例外処理で回避できる
>>490 phpstormだと100%値取得可能ならでないけどvscodeだと100%値が取得可能な状態であっても警告でるよ。
>>491 すまんvscode使って無いから知らなかった
ちなみにどんな警告がでるの?
それよりも一つだけなのにwith()に配列で渡すところが気持ちが悪いw
>>492 使ったこと無いのに他人に指摘してたのかよ・・・
JavaScriptでタイマー処理をしています。 指定した秒数(ここでは10秒)経過したらタイマーを停止する様にしていますが タイマーが止まりません。助けてください、、、 $(document).ready(function(){ $("#id_div_test").click(function () { setInterval(TestFunction , 1000); }); }); var i_current_second = -1; function TestFunction() { i_current_second++; if( i_current_second == 10) { clearInterval(TestFunction); } }
>>495 intervalじゃなくtimeout使ったら?
正直よっぽど一秒間隔が重要じゃない限りは柔軟に停止できるtimeout使う方がいい
そもそもの話上記の場合だと var id = setInterval… clearInterval(id) ってやらんと止まらんけど 基本setIntervelでやらんといけないケースって殆どないと思う
>>498 ありがとうございます。
そういう書き方をするのですね。ネットで調べたブログに↑の用なコードがかかれていました。
便乗質問ですが、Ajaxの処理するときって バックエンドは普通にコントローラーに書いてもいいですか? それとも専用のファイルに書くのでしょうか? たとえば、タイマーで指定時間になる毎にDBからデータを取得して 結果をビューに表示するような処理です。
同じページのajax(API)なら同じコントローラに書いた方が分かりやすいだろうね ルートはwebページの方はroutes/web.phpにAPIはroutes/api.phpに分けて書く事はあるかな (ただしapiの方に書くとdomain/api/指定ルートになる) まぁ、この辺は個人なら好きにやればいいし プロジェクトならルールに従うしかないかと
「好きにすればいい」はその通りなんだけど、統一はしたいよね AのコントローラではRequestクラスを作り、 Bのコントローラでは作らないという設計はどうなのかと思うし
FormRequestってblade使っているときは良く使ってたけど最近全く使ってないな やる事はあんまり変わらないけど、バリデーションはLaravelのやり方でするのだがそれらは自前で呼ぶ感じかな レスポンスは仕様が決まっているのでそれに合わせてエラー時の処理を行う感じが多い Vueとか使ってたら99%はAPIのリクエストだからHTTPのformの処理とは違うしなぁ
phpのテンプレートエンジンのなかでもbladeはダントツで使いやすいよね
>>505 Vue使う場合って、素のHTMLに書いてバックエンドだけLaravelって使い方?
でも、それだと共通箇所(ヘッダーフッターなど)は重複するよね
FW使うより自前でゴリゴリ書いた方が開発効率が凄くいい。
欠番おじさんに朗報 次期バージョンに欠番の再利用機能が入る模様
欠番って使うデータベースの仕様次第なんじゃないの?
そんなバグの温床になりそうな機能実装されても常時OFFだろうけどね
Laravelで何作った良いかわからなくなってきた AIに何が需要あるか聞いても明確に答えてくれない
会員管理系のシステムを工数かけずに作るのには向いてるかなぁ 抽象化がかなり進んでるから、似たようなシステムを量産するときにも重宝する
会員システムなんて他にたくさんあるんだからわざわざ作る意味がない
>>518 言うてもBreezeとかパッケージ使うだろ?
あれ使うと似たような仕様になるから
結局、1から作ることが多いんだよなぁ
Laravelが会員管理システムに向いてないって思ってるやつがいるって知ってビビってる
Laravelはログイン画面とかTailwindが標準だけどあれ使いづらいよな クラス地獄になって大変
>>523 あれは正気の沙汰じゃないわ
なんで採用されてるかわからん
そもそも Cake使えよ。なんでこんなマイナーなフレームワーク使うの? というか昔もっとマイナーな kohana とかいうFWを使ってるクソプロジェクトがあった
>>525 元々Laravel使ってたのから案件でCake入ったけどCakeFW設計悪すぎテンプレートエンジンとかゴミじゃん
本当に有能だったら Laravelのシェアがもっと広がってるdろ
>>525 CodeIgniterちゃんの悪口はやめて!
てか2023版のPHPフレームワークランキングみたらどこも1位Laravelになってんじゃん
ちなGoogle Trend
PHP自体が下火だからな。 PHPユーザー分母が減って、laravelユーザー変わらずで、相対的にシェアが上がって見えてるだけな気が。
>>531 案件数ベースで言ったら全然下火じゃないけどな
>>531 下火というか定着したんだと思う。Web系なら大半はPHPで済むし
もっとパフォーマンス求めるならRubyになるんだろうけど
そこまで必要なのは大手サイトぐらいだからな
パフォーマンスの話するならGoとかJavaじゃない?
GoってLaravelみたいなフレームワークある?
マイクロサービスでよく聞く感じだねぇ モノリシックなLaravelとは対局にある感じ
2年くらい前から結構Webで需要上がってるって聞いたなGo
Goって俗にいうレンタルサーバーでも動くの? それともAWSとかコンテナ型のサーバじゃないと無理?
LaravelやっててVPSでもなくレンタルサーバーなんて使ってんの?
>>545 使ってるけど何か問題あるの?
普通にComposerからデプロイできるよ
>>546 横からですまん
アセットのコンパイルとWorkerの管理ってどうやってる?
特にworkerがつかえるレンタルサーバがあるんだったら使ってみたい
>>547 その2つを使ってないから話が合わないんだな
レンタルサーバーって中途半端に権限があるかないか分からんからめんどくさくて使ってないんだよなぁ Linuxフル権限で使えるVPSなら普通にLinuxでできる事ならなんでもできる 別にAWSやらGoogleCloudやAzureみたいなフルスタックのクラウドを使う必要もないしコンテナ型である必要もない
>>547 workerは無理じゃね?
cronとか使って擬似的にやるとかでごまかせそうだが
レン鯖でのLaravelは色々と制限あると思う
VPSもレン鯖並みに安いし、普通はそっちでやるわな
たしかにレン鯖の手軽さも良いんだけどな
VPSってデータベースも同じ環境にインストールして使うの?
個人的な経験だけど、VPSは1システム全部を一つに入れちゃうかなぁ 冗長化とか必要なケースだと素直にクラウド使ってる
>>550 感覚的には無理だろうと思うけど、レンタルサーバって結構頭おかしい進化してるじゃん?
phpのバージョン変えられたり、ssh使えるようになったり
だからどっかのサービスだと使えるようになってたりしないかなぁって
レンタルサーバーとか基本WordPress専用サービスな認識
エックスサーバーは 990円で仮想6コア、メモリ8GB 1980円で仮想8コア、メモリ12GB 転送量無料 このコスパなら数台借りてもAWSより遥かに安い
その通り。Laravelでサイト作るだけで わざわざクラウド使うってオーバースペックすぎる
>>554 そこまで管理は面倒ではないと思うがな
たいしたことしてないならyum-cronとかdnf-automatic入れておけば
最低限のことは任せられるっしょ
>>556 VPSでその安さ?と思ったが、さすがにVPSだとそこまで安くはないか
AWSと直比較するならせめてVPSかなとは思う
ゆうて中身でどれ使うか変わるしなあ わざわざLaravel使う仕事ならVPSって気持ちもわからないでもないけど
>>560 わざわざって解釈がよくわからんなぁ
前にこのスレで「お問い合わせフォームでもLaravel使うか」
って議論があったけど、大半は「使う」って意見だったぞ
フォームの要件にもよるだろうけど、VPSを導入して
クライアントに負担かけさせるのはいかがなもんかと思うが
>>558 4年前にさくらVPS借りたけど、直近で覚えてるだけでも
・Javaの脆弱性対策
・Python2から3の変更
・Let's Encryptの仕様変更
など、yumで出来ない問題が発生したがな。
今後も何かしら発生するだろうし、
既存パッケージのままずっと運営し続けるのは無理だ
>>563 yumということはCentOS使ってるの?
>>564 CentOS使ってるけど、今度はOSが悪いというのか?w
>>565 CentOSはもう終了なのになんでわざわざCentOS選んでるの?
>>567 発表されてからだいぶ経つけど別のOSへの移行対応しないんか?
>>568 2024年6月までサポートあるから、それまで様子は見るよ
ただ、俺の使い方ならクラウドは必要ないと思ってる
サイト運営するだけだし、LAMP環境で十分だからな
クラウドでも管理は必要だし、言うほど簡単ではないよ
てか、CentOSの終了がまさしく「管理は面倒」なんじゃないか?w レンサバの方がよほど楽だと思うがな
自宅サーバ構築できないヤツはレンタルサーバにしとけ
海外の技術雑誌読んだ限りだとLaravelはLTS廃止によって技術者に見限られたらしい 海外だとPHPならSymfonyとCodeIgniter4が人気みたいだ
CentOSな人達は、Alma Linuxに移ったかと思っておったわ
>>573 Googleトレンドで調べた限り、その傾向はないけど
レンサバでLaravel運用できるならそれがコスパ良くて楽 データベースも同じ環境でいいんじゃないか WordPressで重いデータベースを何年運用していても何も問題起きないし
ChatGPTに聞いたら、ユーザー数1万以下なら 月額1000円以下で利用できるレンタルサーバーがおすすめだとよ どのくらいの規模ならクラウドにするべきかと聞いたら、 ユーザー数10万人以上の場合は、検討した方がいいって お前らが作るほとんどのサービスは1万人以下だろw
>>563 まあ、それを面倒というならVPSは無理だろうね
それくらいの面倒ならあえてVPS選択するって人もいるだろう
レン鯖だとできないこともあるし
程度の問題だとは思うが
無理とか無理じゃないとかじゃなくて、 「LaravelならVPS(クラウド)」みたいな決めつけをするな って話なんだが
LaravelならってよりWebサイトじゃなくWebシステムならVPSだろって話
だからそれがおかしいだろ。これまでの流れをもう一度見返せよ
エンジニアがレンタルサーバーとか使うなよ恥ずかしい
まあ欠番しない連番を実装すらできないLaravelerではクラウドは難しすぎるね
>>584 そんなもん排他ファイル作ってちゃんと制御すれば余裕だろ
>>583 流れ読めよ。仕事での話だろ
自己満サイトならなんだっていい
>>580 >>545 以外はだれもそんなこと決めつけてなくね?
レン鯖でworker使えないのはしんどい場合あるって流れよな
workerのことよくわかってないんだが、 vscodeでコンパイルするのと何が違うの? わざわざサーバー側でする意味がわからないのだが
workerってキューからジョブを取得して実行するプロセスのことじゃないの? レンサバだと使えないらしいけどなぜなのかはわからん
Supervisorとかのプロセスモニタを使ってやる必要があるんだが、 レン鯖でそこまで対応してるのはないと思う 非同期処理やろうとすると色々と悩むと思うよ cronでなんとか実装してレン鯖業者に髙負荷で怒られた人もいるみたいだし
レンサバはそもそも何の最適化もしていないWordPressサイトが大量に収納されていて、各サイトが毎月数十万~数百万アクセスされている そんな激重サイトが常に多数動作してるのに、Laravelのキューを実行したところでたかが知れてないか?
>>593 たかが知れてるかどうかを判断するのはお前じゃなくてサービス提供者だからなぁ
一般論としては、レンサバでは一定時間以上起動し続けているプロセスは強制終了させられる
前にも書いたけど、個人的にはworkerを許容するようなレンサバがあるのであれば知りたい
そもそも非同期にしたい処理ってだいたいは時間かかる処理だろ てことは総じて重たい処理が多いはずよな まあ、そんな処理をわざわざレン鯖でやるなってことなんだろうが レン鯖で困ったことないってなら、わざわざVPSとかクラウドとかに移行する必要もないし こんなこと気にしなくてもいい
重い処理こそクラウドでやると金かかるだろう GASなら最大実行時間は6分だからGASにやらせるという手もある これでLaravelはレンサバ運用でコストは月々1000円
レンサバで使わせたい勢がおるんか? VPSで使わせたい勢がおるんか? なにをこだわっているのか。。 規模とか実装の前提もなくそんな主張したところで、人生になんの意味もないだろうに
キューとか使ったことなくてそれでも困ったことないなら別に知らなくてええよ
単純にクラウドがアホみたいな暴利をしてるから世界中で脱クラウドしてるわけ
そこまで脱クラウドの流れは速くないし、 そもそもLaravel使うレベルで脱クラウドとかの話は筋違い
|ヽ∧_ ゝ __\ やめなよ ||´・ω・`| > /  ̄ ̄ 、ヽ _______ └二⊃ |∪=| |─── / ヽ⊃ー/ノ  ̄ ̄ ̄ ̄  ̄`´ ̄
脱クラウドなんて初めて聞いたわ じゃ何を使うんだよ?
オンプレ回帰って話は少しは聞くよ コスト予測が難しいとかセキュリティの問題とか? 円安ドル高の影響とかもあるのかもしれん 自分の周りでは起きてないから詳しくは分からんが
AWSもオンプレ版AWSを出さざるを得ないくらい追い詰められてる
オンプレとクラウドの混在が今のトレンドだ!なんて記事を見たような 俺の場合は、お客様のご要望のままに…のスタンスだけどw
>>607 5年前からオンプレで提供してるわ
俺の対応は間違いじゃなかったんだな
オンプレって問題起きたら3分以内に駆けつけないといけないとかどうすんの
>>611 コスト面で不利だけど、クラウドでできることはオンプレでもできるぞ
まぁいい加減スレチ
住所の正規化でGoogleMapAPIとか使うとか、 オンラインストレージに帳票まとめたいとかでから、 C特定クラウドに寄せるみたいなのあるわ 同じようにAD使うからazureとかもあるんじゃね まあLaravelでどこまでやるかは案件次第やしな オンプレはリースとかの話も入るのが個人的にめんどいw
ま、クライアントの事業形態に合わせて納品できればいいよ 小規模事業者にはレンサバ、中規模以上はクラウドはオンプレなど 使い分けることができれば、仕事の依頼も増えるだろうさ
アメリカ人とイギリス人のプログラマの友達にTailwindCSSの件聞いてみたら海外の技術者からすると 何で日本人はTailwindCSSを使いづらいと言っているのか理解できないらしい
>>615 二人に聞いただけでそう決めつけるのか?w
>>616 海外の技術雑誌でも取り上げられるぐらい有名な話だぞ
Tailwindの生みの親も愚痴ってるぐらいだし
ちなみに中国は日本人と同じ感覚でTailwindは好まれていない
>>617 客観的に見て、classに詰め込みまくるのは美しくないと感じるんだが、
欧米の技術者はそうじゃないんだな
個人的な好みでいうと、表現したい箇所の最も近くに直感的な表現で記述できるからかなり気に入ってる あとプラグインで簡単に補完できるようになるのも便利かなぁ サイト全体の統一表現には別のツールが必要になる辺り構造化するのはひと手間かかるけど、小中規模の案件ではすごく重宝してる
かんたんなプログラムなら作ってくれるけど、 込み入ったものは無理だよ
8割はChatGPTに作らせてあとの部分だけ人間がメンテ
俺も最初はchatGPTについて半信半疑だった ただ実際に色々と出来てびびった というかデバッグとかについてはChatGPTにチェックしてもらった方が遥かに早いよ
>>626 単純なCRUDを作るのはできるだろうけど、622は8割だぜ?
Webアプリの8割も作れるわけないだろうが
ChatGPTマジでヤバ過ぎる。これ作ってるPG天才だな。 Googleは駆逐されるわ
そもそもフロントエンドもフレームワーク使うならTailwindは選択肢に入らない
それはそう 日本じゃBootstrapが多いんかなあ
日本はなんだかんだ実書籍の影響が大きい それこそニッチなものでも掌田津耶乃が書籍出してるかどうかで明暗が別れる
BootstrapってTwitterだから今後は期待できないぞ ま、TailwindもMetaだから同じだけど
Laravelの本で勉強していて
<form action="
http://localhost/tweet/update/12" ; ってところの数値をChrome DevToolsで12から11に変更して更新すると11のレコードが更新されてしまうんですが、これはこういう仕様で正しいんでしょうか?
FW使わない方がやっぱりサーバ移動とかメンテがサクサクだ。
そりゃそうでしょ。構成されてるファイルが違うんだから
>>637 symfonyだとChrome DevToolsで12の部分に変更をかけても12が更新されるのに対して
Laravelは12の部分を変更すると変更後の値で更新がかかるので気になったんです
>>636 見えて困るものなら受付先のコントローラーで権限確認しないとダメだろ
基本認証を開発環境にかけたところエラーが出ます。 [.htaccess] AuthType Basic AuthName "My Auth" AuthName “Enter Your ID and PASS” AuthUserFile /{user_name}/public_html/.htpasswd require valid-user 開発環境(dev.{ドメイン}.com)にアクセスした場合 Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at webmaster@{hogehoge_test}.com to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
.htaccessの中全てです。設定間違ってないはずです。
なぜエラーが出るのでしょうか?
[.htaccess]
AuthType Basic
AuthName "My Auth"
AuthName “Enter Your ID and PASS”
AuthUserFile /{user_name}/public_html/.htpasswd
require valid-user
# Default Page Change
DirectoryIndex index.php
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$
https:// {hogehoge}.com/$1 [R=301,L]
</IfModule>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
>>643 このエラーメッセージは、.htaccess ファイルの構文に問題がある場合に表示されます。具体的には、次の可能性があります。
AuthName ディレクティブに異なる種類の引用符が使われている
AuthUserFile ディレクティブで指定されたファイルが存在しないか、またはパーミッションが正しくない
.htaccess ファイルが正しい場所に配置されていない
RewriteRule ディレクティブに構文エラーがある
まずは、次のようにして、.htaccess ファイルが構文的に問題ないことを確認してください。
1. AuthName ディレクティブの引用符を修正する
.htaccess ファイルの中で、AuthName ディレクティブに異なる種類の引用符が使われています。一方はダブルクオートで、もう一方は右シングルクオートです。これらを統一し、ダブルクオートに変更してください。
2. AuthUserFile ディレクティブで指定されたファイルを確認する
AuthUserFile ディレクティブで指定された .htpasswd ファイルが、指定された場所に存在していることを確認してください。また、ファイルのパーミッションを適切に設定していることも確認してください。
3., .htaccess ファイルの場所を確認する
.htaccess ファイルが、実際に適用されるディレクトリに存在していることを確認してください。
4. RewriteRule ディレクティブを確認する
RewriteRule ディレクティブに構文エラーがある可能性があります。RewriteRule ディレクティブのパターンが正しいかどうか、および置換文字列が正しいかどうかを確認してください。
これらの手順を確認してもエラーが解消されない場合は、Apache のエラーログを確認することをお勧めします。エラーログには、.htaccess ファイルで発生している問題の詳細が記録されています。
>>645 二重引用符の間違いでした!ありがとう!
>>645 天才か?やっぱり技術あるイケメンは違うな
ChatGPTがマジですごい Google駆逐されるね
AIがあるから単価下げてもええやろって言われたときの対策はどうすればいいですか
実は発注する側の俺はそれ考えてた。 「ChatGPT使えば開発効率2倍になるよね。じゃ、予算も半分で」
個人事業の中小プロダクト専門だけど、実際工数が半減するから請負金額は下げてもいいかなぁって思ってる
>>652 「じゃ、AIをどう使えばいいかを教えて貰えますか?」
「勉強しろ?じゃ、その分の調査費用を上乗せで。」
じゃだめ?
>>652 ウチでは対応しかねるので他所を当たって下さい
コントローラが肥大化して困っています。 たとえば以下のような掲示板投稿のメソッドがあるとして、 どのようにして簡略化すれば良いのでしょうか? ※波線の部分は他にも記述があるという意味 モデルが異なるので、1つのモデルにロジックを書くの難しいです。 public function create(Reuqest $request){ // ユーザーを取得 $user = User::find(Auth::id()); ~~ // 掲示板に投稿 $board = Board::find($reuqest->board_id); $board->create($request->all()); ~~ // 登録をメールで知らせる Mail::send(new BoardMail($user->name, $user->email)); ~~ // 投稿した掲示板に戻る return redirect('/board/show/' . $reuqest->board_id); }
ぶっちゃけ、その間の「~~」の処理を外だしするのが大事なんだけどね Laravelについて、 ServiceクラスやらResourceやらRepositoryやらUseCaseやらクリーンアーキテクチャでググればいいかもね 結局は落しどころの話になるから、最適は自分やチームでみつけるしかない (ビジネス?)ロジックをどこに書くのかも含めてね 以下はイケメンChatGPTの回答。(コードは省いた) コントローラの肥大化を緩和するためには、いくつかのアプローチがあります。以下にいくつかの改善点を提案します。 1. モデルの責務を増やす: モデルにロジックを追加して、コントローラから責務を移すことで、コントローラをシンプルに保つことができます。 具体的には、以下のようなメソッドをモデルに追加することが考えられます。 2. サービスクラスの導入: コントローラの肥大化を避けるために、サービスクラスを導入することができます。 サービスクラスは特定のビジネスロジックをカプセル化し、コントローラに代わって処理を行います。 3. リダイレクトの処理を共通化: リダイレクトの処理を共通のメソッドに切り出すことで、コントローラの冗長な部分を削減できます。 これらの改善点を組み合わせることで、コントローラの肥大化を軽減し、コードの再利用性と保守性を向上させることができます。
>>660 チームじゃなくて自分一人で学習用にやっています。
~~は数行の関連処理があるという意味です。
モデルはすでに肥大化しています。
サービスクラスとユースケースの用途がイマイチわかりません。
AIさんに聞いても似たような回答です。
Classのパッケージだと考えれば良いのでしょうか?
調べ事する時はググるんじゃなくて、ChatGPTに質問した方が早い。
正規表現系はChatGPTに質問すれば一発じゃんwww
>>666 正規表現が分かり辛くて苦労してたけど
ChatGPTがすんげー賢くて助かってる
そんなレベルで正規表現とか使うなよ ReDosの回避とか判断できないんだろ?
>>668 ReDoS(Regular Expression Denial of Service)は、正規表現を悪用した攻撃手法の一つです。正規表現は、文字列のパターンマッチングに使用される強力なツールですが、誤った正規表現パターンを用いることで、攻撃者は悪意のある入力に対して非常に効率の悪い処理を引き起こすことができます。
この攻撃手法では、攻撃者はターゲットのシステムに対して、特定の正規表現パターンを含む大きな文字列を送信します。そして、その正規表現パターンが指数的な時間を要するような場合に、システムのパフォーマンスを低下させることができます。攻撃者は、これを繰り返し行うことで、システムを過負荷に陥らせることができます。
ReDoS攻撃は、セキュリティの脆弱性を悪用するものではなく、正規表現自体の特性を利用した攻撃です。正規表現は複雑なパターンマッチングを可能にするため、注意深い実装と入力の検証が必要です。システム開発者は、正規表現を使用する際には、適切な対策を講じる必要があります。
>>668 簡単
ReDoS攻撃を回避するためには、以下の対策を実施することが重要です:
正規表現の最適化: 正規表現パターンを最適化し、無駄な複雑さや冗長性を排除します。具体的には、正規表現の量指定子(quantifier)を最小限に抑え、正確なマッチングに必要な要素に絞ります。
入力の検証と制限: ユーザーからの入力を厳密に検証し、制限を設けることで、異常な大きさや複雑さの入力を防ぎます。入力の長さやパターンに上限を設け、必要な制約に合致しない場合は処理を中断するなどの対策を取ります。
タイムアウトの実装: 正規表現の処理に時間制限を設け、長時間の処理を回避します。適切なタイムアウトを設定し、処理が指定時間を超える場合は中断するようにします。
サーバーサイドのリソース制限: サーバーサイドでの正規表現処理に対してリソース制限を設けることで、攻撃の影響を軽減できます。CPU時間、メモリ使用量、スレッド数などのリソース制限を設定し、不正な負荷がかかることを防ぎます。
ホワイトリストの採用: 正規表現を使用する際に、想定される有効な入力のパターンをホワイトリストとして作成し、それ以外の入力は拒否する方法を採用します。正規表現のパターンに基づくフィルタリングを行うことで、攻撃に対する保護を強化できます。
これらの対策は組み合わせて適用することが効果的です。正規表現を使用する際には、十分なテストと監視を行い、セキュリティの脆弱性を最小限に抑えるようにしましょう。
>>670 お前すごいな!
ChatGPTにRFC準拠のメールアドレスの正規表現聞いたら
^(?i)[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$
って返ってきた
これってReDoS回避できてるの?
ChatGPTにしてもタダで使えるからラッキーみたいに使いまくっている奴いるけど これ個人情報の収集となんら変わりないからな googleの検索も似たようなものだし
だから正規表現とか当たり障りのないところを聞くのに最適だよね Google検索がクオリティ低くなってるから尚更
>>671 ReDOS攻撃を完全に防御するためには、正規表現のパターンを慎重に構築する必要があります。以下にいくつかの一般的な対策を示します。
正規表現の最大実行時間を制限する: 正規表現エンジンには、パターンの実行時間を制限する機能がある場合があります。この制限を設定することで、長時間の実行を防止できます。エンジンのドキュメントを確認し、適切な制限を設定してください。
繰り返し量指定子の最大回数を制限する: 特定の繰り返し量指定子(例: *, +, {n,m})の最大回数を制限することで、無駄な長さのマッチングを防ぐことができます。たとえば、{0,100}のように回数の上限を設定することができます。
バックトラッキングの最大制限を設定する: バックトラッキングは正規表現エンジンの動作の一部であり、無限ループを引き起こす可能性があります。エンジンのバックトラッキングの最大制限を設定することで、深いネストや複雑なパターンでの攻撃を防止できます。
より効率的なパターンを使用する: パフォーマンスの改善を図るために、より効率的な正規表現パターンを構築することが重要です。無駄なキャプチャや不要なグループ化を避け、必要な場合には具体的な文字クラスを使用することが推奨されます。
>>675 簡単だけど慎重に構築って矛盾してない?
結局、ChatGPTをまともに使える人って、ちゃんと知識ある人なんじゃないの?
きみじゃ話にならん感じだわw
ChatGPTの回答の責任をお前は取れるのか?って詰められてChatGPTに謝らせるの草
>>674 一般的なことを聞いて、それを組み合わせていくのがいいと思っている
>>680 一般的なことであってもソースを確かめる必要はあるぞ
AIは一般的なことでも嘘つくし
>>681 私はAIであり、一般的な情報や指摘に対してもできるだけ正確な情報を提供するように設計されています。ただし、私の応答は事前に学習したデータに基づいて生成されるため、情報の正確性や最新性については保証できません。したがって、重要な情報や意思決定に関わる場合は、信頼性の高いソースや専門家の意見を参考にすることをお勧めします。AIはツールとして利用されるべきであり、人間の判断や確認が重要です。
$str_message = "aaa<br>bbb"; $str_message = str_replace("<", "<", $str_message); $str_message = str_replace(">", ">", $str_message); このコードを実行すると aaa<br>bbb これにならず aaa<br>bbb のままです。どこがおかしいでしょうか? 画面で入力された内容をHTMLメールで送信するにあたり 文章中にHTMLタグが手動で意図的に入力されていた場合 その文字列をそのままメールに載せたいです。
申し訳ありません。もし誤解を招くような回答がありましたら、お詫び申し上げます。どのような具体的な質問やお悩みがありますか?お手伝いできることがあればお教えください。
>>683 すげぇ発想だなw
普通の人にこの発想はできん
プログラマーよりクリエイタータイプだろう
お酒もほどほどにね
お酒を飲んでプログラミングははかどりますか? ChatGPT お酒を飲んでプログラミングをすることは、個人の好みや体験によって異なる結果が出る可能性があります。しかし、一般的にはお酒を飲んでプログラミングをすることはお勧めできません。 以下に理由を挙げます: 集中力の低下:お酒を飲むと、集中力や判断力が低下することがあります。プログラミングは論理的思考と注意力が必要な作業であり、集中力が低下するとエラーやミスが生じる可能性が高まります。 判断力の低下:プログラミングでは、問題を解決するために適切な判断を下す必要があります。お酒を飲むと、判断力が鈍る可能性があります。プログラミングにおいては、効果的なコードやアルゴリズムを設計するための正確な判断が求められます。 バグの増加:お酒を飲んでいると、ミスやバグが増える可能性があります。プログラムのバグは見つけにくく修正も難しくなります。お酒によって、バグの発見や修正にかかる時間が増える可能性があります。 コード品質の低下:酩酊状態でコーディングすると、品質の低いコードが書かれる可能性があります。読みにくいコードや悪い設計のコードは、他の開発者が理解しにくくなり、保守性や拡張性の問題を引き起こす可能性があります。 プログラミングにおいては、クリアな思考と集中力が求められます。そのため、お酒を飲んでプログラミングをすることは推奨されません。プログラミング作業を行う際は、適度な休憩やリラックス方法を取り入れることが重要です。
申し訳ありませんが、WinSCPとLaravelは異なるツールやフレームワークですので、直接的な絡み合いはありません。WinSCPはSFTP/FTP/SCPクライアントであり、LaravelはPHPベースのウェブアプリケーションフレームワークです。 ただし、Laravelを使用してウェブアプリケーションを構築している場合に、ファイルの所有者情報を表示する必要がある場合は、サーバ側のコマンドやPHP関数を利用することになります。 例えば、Laravelのコントローラやビューでファイルの所有者情報を表示したい場合、PHPの fileowner() 関数や stat() 関数を使用することができます。これらの関数を使ってファイルの詳細情報を取得し、所有者情報を抽出して表示することができます。
単純な質問なら正解導くけど、 「○○のサイト教えて」とか聞いても嘘ばかりだぞ
素朴な疑問だけど、なんでLaravelのcreated_atとupdated_atってtimestampなの? datetimeじゃない理由はあるの?
大半の人がtimestampで困ることがないからでは?
timestamp「が」、MySQLの2038年問題で困る
そいやそんなことあったな 基本datetimeで統一してるわ timestampだとDB側でタイムゾーンとか決め打ちできるのがいいんだっけ(内部的には数値だったかなんだかで) Laravelの意味的にはtimestampだからな、timestamps そこらへん意味とかに厳しい人が決めてるんやろ ゆうてMySQLが仕様変更しない限り、そのうちLaravelが変更するかもな
そう、タイムゾーンの問題があるから地球上のある時刻を保存したいときはtimestampを使うべき datetimeだとそれがどのタイムゾーンの日時なのか気を付けなきゃならないからな
じゃ、有効期限のように年月日しか入れない場合もtimestampを使うべき?
冷静に考えれば設計って難しいよな データ型ひとつとってもこれだけ意見が出るんだから
Laravelの中間テーブルって、リレーション先のID以外を含めないもん? たとえば、usersテーブルとpostsテーブルがあって、 post_userという中間テーブルを用意する場合、 id、post_id、user_idというカラムを持ち、 created_atとかnameとか他のカラムは追加しないと
>>707 post_idとuser_idの組み合わせで一意になるならpost_idとuser_idで複合主キーにしたほうがよくないか?
>>700 > datetimeだとそれがどのタイムゾーンの日時なのか気を付けなきゃならないからな
いい加減、気を付けたシステムを作れるようになろうぜ
タイムゾーンとかサマータイムとか考えるとタイムスタンプみたいな絶対値の方が扱いやすいだろ 日本でもサマータイム導入されないとも限らない datetimeで困るのはMySQLの2038年問題くらいしか思いつかんし、 それもおそらくどうにでもなるし
>>709 だよね
timzezoneは開発着手後最初に設定するもんだと思ってたよ
なんつーか、ロジカル思考って頭が良くないとできないんだなぁ 俺みたいな文系だと、柔軟な考え方ができない
タイムゾーンやサマータイムのことを考えると 逆にdatetimeに丸投げしたくなる
どっちがいいというよりも、ちゃんとどっちかに統一してればいいよ
cakeしか使った事が無いけど、Laravelってどうなの? 使い易い?
>>716 俺もCake2を使い続けてて、正直Laravelに懐疑心あったが
使い出すとこれほど自由度が高いFWもないと感じた
逆に自由度が高すぎるこそ、設計がちゃんとできないと
破滅的なコードになってしまうわけだが
>>717 最近Laravel使ってるところが増えてきているみたいで
良いFWなのかな~と気になってます。
昔、kohanaとかいう糞マイナーなFWを使った事がありますが
マイナー過ぎてはまった時になかなか解決策が見つからず大変だったw
だからマイナーなFW案件は受けない様にしてます。
ただ1つ問題がある。過去レスを読んでほしいが、 デプロイ(インストールや設置)がCakeと比べて難しい点だ 難しいというのは技術的な点という意味ではなく、 クライアントの環境構築や運営管理という意味でだ フリーに頼むようなクライアントは金も知識もないから、 Laravelに見合う環境を用意できない可能性がある
>>719 CakePHPと比べてどこに引っかかるの?
要件に対してのシステム要件は変わらない気がするけど
FWを一本化して欲しい。 みんながそれ使えば、ハマった時にその解決策をすぐ調べられて便利なのに。 なんで次々FWを開発するのかな。 言語も同じ。オープン系はも統一して欲しいわ。
んなもん無理に決まってるだろうに 開発者それぞれの利害関係もあるし
Laravelが停滞してないからそれで飯を食えていける リスク分散するなら色んなことをすべきやなあ 完全に無駄なことなんてそうそうない
WEBはPHP+Cake、WindowsはC# これで一本化すればOK
うむ。もうこうなってるよ 安く仕上げたい→WordPress フルスクラッチ→Laravel これ以外はRubyとかPythonになるだろうな
>>720 レン鯖に置くだけじゃ使えない機能があるって言いたいんじゃないの
むしろフロントエンドの技術が多すぎる ReactにVueにNodeに他に色々あったはず
AWSにFirebaseにHomesteadとか、サーバ関係も色々ありすぎる
このサイトからBTC価格をスクレイピングしたいです。
https://jp.tradingview.com/symbols/BTCUSD/ require "simple_html_dom.php";
$url = "
https://jp.tradingview.com/symbols/BTCUSD/" ;;
$html = file_get_html($url);
$rateElement = $html->find(".lastContainer-JWoJqCpY",0);
$str_text = $rateElement->plaintext;
var_dump($str_text);
このコードを実行するとこの様になります。
なぜ取得できないのでしょうか?
string(4) " "
赤信号の横断歩道に飛び出しといて「老害が車で突っ込んできた」とか言ってそうw
スクレイピングなんてやめなよ 素直にAPI提供してるところ使え
>>740 APIを利用する為のアカウント登録&仕様変更がだるいから
スクレイピングしてる
スクレイピングの妨害をするサイトがあるなんて初めてだわ。
初めてって知らないだけだろ。普通は外部から直アクセス出来ないように対策するもんだ
特にそういうリアルタイムデータとかを表示するサイトは、常にスクレイピングの対象になるから 対策されてもおかしくないよね 広告収入減ったりアクセスカウントおかしくなったりするわけだし
むしろ妨害するのが普通だろ スクレイピングなんてサイト運営者からすればただの害虫でしかない
>>742 仕様変更に関してはスクレイピングの方が面倒だろうに
要するに会員登録とか認証とかそういうの嫌なだけだよね
Yahoo!の経済指標カレンダー週一でスクレイピングしてたら 大幅仕様変更されて使い物にならなくなったの地味に恨んでる。
そんなやつにいちいち配慮してたらでサイン変更もサイトリニューアルもできない APIの仕様をいきなり変えられたら恨むのも分からんでもないが、 スクレイピングの方してて恨むのはさすがにない 盗っ人猛々しいって感じ
>>747 そう?今回についてはBTCのリアルデータを取得したいだけだったから
別に面倒じゃないよ。
API使う位ならスクレイピングの方が好き放題に出来るからオススメ。
いや、少しは相手のことも考えろやw まがりなりにもここはLaravelスレだろ ほんと自分勝手なやつだな
スクレイピングされる方の身にもなれ ボランティアでもないんだ。広告とかも見ずデータだけ抜くやつは弾きたいやろ 負荷がまだ少ないサイトならまだしも、でかいサイトはコストもあるからそこそこ綱渡りしてるからな 有料ユーザーがいるならそれらの敵でもある
てか、スクレイピングは逮捕案件だぞ、マジで。 図書館のデータをスクレイピングした人が捕まってたろ
サイトの閲覧と本質的に変わらないだろ 1日10回程度ならOK 人間でもそれくらいはみるだろ。
>>754 スクレイピングされるようなメジャーサイトになってから家カス
Laravelが今のところPHPのFWのシェアトップみたいだね。 勉強かてらちょっとしたサイト作ってみるか。
そんなわけないw Rails > Django > Express = Laravel だぞ
>>755 問い合わせて許可はちゃんと貰ったんです
RailsもExpressももう落ち目でしょ これから上がるとすればDjangoくらいじゃね?
1.Laravel 2.Cake 3.Symfony だ
大規模だろうが小規模だろうがLaravelでええやん まあ、大規模の場合は他の選択肢もあるがな
>>771 FW要らないって具体的にどんなシステム?
大規模案件はJavaだろ お子様向けスクリプトのphpで開発するわけがない
その昔、T芝のエンジニア様が、PHPのようなオープンソースはだめだ。 Javaでなければ信用できない。とおっしゃっておったぞ。 ワシは、ふ〜〜ん、と、聞いておったがw
正規表現を作るの苦手だったけど、chatGPTのお陰でサクサクですわ
>>779 住所を都道府県~番地まで分割する方法聞いてるんだけど
ドンピシャな答えを出してくれない。良い聞き方ある?
>>777 大手はいまだに使いたがるだろ
人材確保考えたら特に
webならもう外部APIに入力された住所もどきをそのまま投げて返してもらってるわ 主に使ってるのはGoogleMapsだけど、BingとかMapfanとか他にも色々あるし Laravelではあんまないやろけど、 バッチ処理とかだと正規表現とかDBつかったほうがええんやろけど、 例外的なデータとかメンテとかいやだし、なるべくしたくないわ
Wappalyzerで見たらGoogleのWebってJavaなんだな
>>785 Laravelで作られたLaravelもあるよ
Laravelをのぞく時、Laravelもまたこちらをのぞいているのだ
Livewireで写真プレビュー後 Livewireコンポーネントでsaveせずに通常のformでpostしてコントローラ側でsaveさせることはできますか?その時form requestでバリデーションさせてエラーがあればLivewireコンポーネントにoldで写真プレビューを戻すことは可能ですか?
じゃあきらめろ 大体XY問題だから、詳細でない限りアドバイスが無駄になる
わざわざアドバイスありがとう もう少し自分で調べてみます
>>787 たとえばどれがLaravelで作られてるの?
>>786 昔DelohiはDelphiで作られてるとか言われてたな
プライベートで運営している超過疎サイト、httpsに対応していないからサーバ証明書発行してhttps対応させたい 無料でサーバ証明書発行できるおすすめのサービスない?
>>801 Let's Encryptでええじゃないか
>>802 スレチの話題に乗っかるよなよ
どうせ後出しで条件出してくるし、うざいやり取りになるだけだぞ
Apacheのhttpd-ssl.confの設定むずいな VirtualHostで*:443って設定したら無事に動いたけど、ここに自分のFQDNやIPを記述してた時はHTTPS通信できなかった
>>807 ググれば山ほど出てくることを見つけきれない自分を情けなく思えw
スクレイピングとか今時やってたらバレバレだと思うんだが
アクセス解析で怪しいな、と思っても量が問題なさそうなら(ワイは)スルーするしな
teratailのクソ質問ばかりのやつな 利用規約も見ずに好き放題やりよる
よし、スクレイピング対策してるサイトをスクレイピングする事に成功(/・ω・)/ スクレイピングと分からない様にアクセスするのがポイントだ
スクレイピングとクローリングって何が違うの? ググるとたくさん出てくるんだけどみんな区別して使ってるの?
スクレイピングとクローリングは、ウェブ上の情報を取得するために使用される技術ですが、一般的には区別して使われます。 スクレイピングは、特定のウェブページからデータを抽出するプロセスです。 スクレイピングでは、ウェブページのHTMLコードを解析し、必要な情報を抜き出します。 これには、テキスト、画像、リンク、テーブルなどのデータが含まれます。 スクレイピングは、価格比較、データ収集、ニュースの収集、レビューの分析など、さまざまな目的で使用されます。 一方、クローリングは、ウェブ全体を自動的に巡回し、情報を収集するプロセスです。 クローリングは、クローラー(またはスパイダーとも呼ばれるプログラム)がインターネット上の複数のウェブページをリンクをたどって巡回し、情報を取得します。 クローリングは、検索エンジンがウェブページをインデックス化するために使用されることが一般的です。 また、ウェブサイトの更新を追跡するためにも使用されます。 つまり、スクレイピングは特定のウェブページからデータを抽出することに焦点を当てており 、クローリングはウェブ全体を巡回して情報を収集することに焦点を当てています。 一般的に、これらの用語は区別して使用されますが、一部の文脈では混同されて使われることもあります。 しかし、技術的な観点では、スクレイピングとクローリングは異なるプロセスと目的を持っています。
とあるプロジェクトなんだが、PHPでバッチ処理ばっかりやってんだけど。 C++だろ。普通。
いやぁ、C++はもっと使われんだろw なんのバッチ処理か分からんが、WEB系絡んだ処理ならPHPは多く使われてるだろ
どんなプロジェクトかしらんからなんともいえん 妙な制約があるかもしれんし まともじゃなさそうなのは確かだけどw
>>821 寧ろ、個々人がバラバラなIDEで俗人化されてる
バッチったってDB叩くだけとかならPHPでも十分 適材適所で好きなの使えばいい アホとか言う方がむしろ分からんw
バッチ処理は普通はspring batchじゃないか? phpではバッチ処理はきつすぎる
きついってどういう点が?処理能力が?技術的な問題? 抽象的に言うんじゃなくて、具体的に言えよ
サーバーレスバッチでLambda起動してGoかnodeかpythonで実行だろ
仕組み的に最速はDBのストアドプロシージャだけどストアドはDBに依存した処理になりがち
PHP使えないほど速度を求めなきゃいけない場面ってなんだよ Laravelをバックエンドに使ってるSPAでも問題ないだろ
バッチ処理なら速度が必要なことはそこそこあると思う Laravelで出来ないこともないけど、バッチ処理のためにわざわざPHPを入れて
そりゃそうだ ただ、ここlaravelのすれだぞ? 頭湧いてんのか?
わざわざPHP入れてって、他の言語使ってるやつの話じゃないだろ 「PHPは遅すぎるからバッチ処理が必要な場面で使わん」ならわかるが、 そういう場面はどんな規模のプロジェクトで発生するんだ?って話で。 会員数100万人、ユーザー数1千万人のポータルサイトだから Laravelとか使えねーよって話ならわかるが
何が言いたいのか主張がはっきりしてなくてわからんけど、 ・PHP(Lavavel)でバッチ処理するのはありえなくはない ・PHPがない環境に敢えてPHP(Laravel)入れてバッチ処理するのは理解できない これは同意 敢えて新しく入れてまでPHP(Laravel)でバッチ処理やる、してる、って主張してるやつはいないように見える ていうかPHP入ってない環境にPHPいれてLaravelでバッチ処理してるなら、採用理由を知りたいわね 社内の文化とかかな
Laravelはバッチ処理を実行するための機能を提供しており、一般的にはバッチ処理にも適しています。Laravelのジョブやキュー機能を活用することで、タスクの非同期実行やスケジュール設定が容易になります。 ただし、他の言語やフレームワークに比べてパフォーマンスや処理速度が重要な場合、Laravelのバッチ処理機能だけでなく、別の言語やツールを検討することもあります。特に大規模なバッチ処理や高負荷な処理を行う場合には、より効率的な言語やツールを選択することが重要です。 総合的な判断として、Laravelは多くの場面でバッチ処理に適していますが、具体的な要件や目標に応じて他の言語やフレームワークを検討することも重要です。
まあ、規模大きいとかならJAVAだろうな、一番多く使われてそうなのは
>>839 その規模の大きさはどこまでよ?
>>836 の基準だとそうでも中規模程度だろ?
システム開発における規模の大小は、いくつかの要素を考慮して判断されます。以下に一般的な判断基準をいくつか示します。 プロジェクトの目標: プロジェクトが達成しようとしている目標や要件の大きさを考慮します。目標が大規模で複雑なシステムの構築や大量のデータ処理を伴う場合、規模が大きいと見なされることがあります。 チームの規模: 開発に参加するチームの人数や役割の多様性も規模の判断基準となります。大規模なシステム開発では、多くの開発者や専門家が関与し、それぞれの役割が明確に分かれる場合があります。 機能やモジュールの数: 開発するシステムが多くの機能やモジュールから成る場合、規模が大きいと見なされることがあります。機能の数や複雑さ、モジュール間の関連性などが規模の判断材料となります。 プロジェクトの期間: システム開発のプロジェクトの期間も規模の判断要素となります。長期間にわたる開発プロセスや進めるべき作業の量が多い場合、規模が大きいと見なされることがあります。 技術的な要件: システム開発において使用する技術やインフラストラクチャの要件も規模の判断材料となります。例えば、大量のデータ処理や高負荷のトラフィックを処理するシステムでは、規模が大きいとみなされることがあります。 これらは一般的な規模の判断基準ですが、規模の判断はプロジェクトや組織によって異なる場合もあります。開発者やプロジェクトチームは、具体的なプロジェクトの要件や目標に基づいて規模を判断し、適切なリソースとアプローチを選択する必要があります。
ま、どっからどこまでの規模、これこれこういう処理はこの言語!なんてよう決めんわなw そんなん聞くほうがおかしい、ChatGPT有能やなw
AIの基準じゃなくてお前の基準で言えばいいだけだろ
勝手に決めてればいいじゃん 自分の基準はプロジェクトや環境ごとに臨機応変だわ 敢えて言うならどの規模でもBASICとかは"使いたくない"くらいかw 小規模でも実績あるからとかでc++使うときもある でもそんな無数にある前提条件を並べて、片っ端から基準語る暇なやつおらんやろw まあ聞くなら自分の細かな基準を語ってみれば?スレ違いにならんようにねw
機能と性能の向上: BASICが制約のある言語であることを認識し、より現代的で柔軟な言語を使用することで、開発効率やアプリケーションの機能や性能を向上させることができます。 サポートやコミュニティの充実: より一般的な言語を使用することで、サポートやコミュニティの充実度が高まります。問題や課題が生じた際には、広範な情報やサポートを得ることができる利点があります。 メンテナンス性と拡張性: システム開発では、メンテナンス性と拡張性が重要です。BASICに比べて拡張性や保守性の高い言語を選択することで、将来の変更や追加機能の実装が容易になります。 システム開発でBASICを嫌という人は根本的な事が何もわかっていないと結論付けられます。
>>845 途中めっちゃBASICディスってるのに結論変わってて草
おっしゃる通り、先程の回答ではBASICについて否定的な意見を述べていましたが、最終的にはその意見を変えてしまいましたね。申し訳ありません。個々の開発環境や要件に応じて最適な言語やツールを選ぶべきです。BASICが適切な場面もあるかもしれませんので、それぞれの利点や欠点を理解し、適切な選択をすることが重要です。
PHP未経験がLaravelなんかよく聞くしやってみるか って手をつけるもんじゃない? DjangoとFlaskしか使ったことない
最初からPython触るような人は わざわざPHPなんか使いたいとか思わんだろ
PHPはHTMLと混ざるのをやたら毛嫌いする人がいるね
Pythonって文字列の中に数値入れるときイチイチ型変換いるんだっけ?
動的サイトをスクレイピングするには専用サーバを借りないといけないな。 だけど、あほらしいのでWindowsアプリでスクレイピングしてサーバに転送かけることにする。 若干、遅いけど。
「ダウンロードNINJA」を使っています ってことじゃないのか?w
スクレイピングに専用サーバーってなんだよ 自宅のPCでいいだろ
わからないのはこのスレでいつまでもスクレイピングの話を引きずろうとすること
Visual Studio Codeでサーバ(Linux)にリモート接続しています。 サーバ上では、Cpanelから鍵の生成は完了しました。 C:\Users\tarou\.ssh ここにサーバからDLしたid_rsaも配置しました。 Host hogehoge.com HostName hogehoge.com User tarouuser Port 22 IdentityFile C:\Users\tarou\.ssh\id_rsa その上でリモート接続を試みていますが 画面左下に Opening Remote... と表示されて一向に接続が終わりません。 どこが間違ってますでしょうか?かなりはまってます。。。
せっかくLaravel学んでも何を作ればいいかわからなくなってきた もうかってそうなサービスをパクろうと思うも、 資料請求するにも法人じゃないと無理だから積む
Xdeubgでブレークポイントをはって開発したいのですが これって共有サーバでは使えませんか? Xdeubugのモジュールをサーバにインストールする必要があるみたいです。
https://nplll.com/2010/05/xdebug/ この辺が理解できるんだったらいくつかのレンタルサーバで動かすことはできそう
ただ、ローカルでやれば?
>>867 共有サーバはインストール権限無いから無理じゃない?
>>868 そのサイトは共有サーバーの記事でしょ
ローカルにインストールしてる
>>869 へー、そんな事できるんだ。
俺も試してみよっと。
FW入れるとサーバの引っ越しとかPHP・DBのバージョンアップ対応が面倒だよね。 どうしようかな。
フレームワークであろうとなかろうと面倒さは変わらん
やっぱ要件定義が決まるまでが面倒だわ 決まれば流れ作業で開発できるんだけどなぁ
バージョンアップせずにずっと固定してくんねーかな。 面倒なんだが
Laravelは言うほどバージョン違いの不具合起きないぞ 6→10でもスムーズに移行できた
まぁ確かにLaravel使うには一定以上のスキルが必要だわなぁ
sailだと最新のLaravelしか使えないのが嫌すぎる
XDebugでブレークポイントは効率よいと思ったけど var_dump()で出しても大して生産性変わらないな。
むしろブレークポイントがあると、いちいちクリックしなければいけない手間が発生する
>>878 5.xくらいの頃までが厄介だったな
6以降は割りと安定してて変更箇所決まってるもんな
なんか10使ってルーティング同じように書いたら出来なくて焦った 今日はもう仕事いいや
マジで次何作ればいいかわからなくて1ヶ月停滞してる
>>896 山川ゲームとかいいんじゃないか?
Laravelの色々な機能使うから便秘になるし
今マッチングアプリが流行ってるけど、Webはどうなんだろ? ネイティブアプリと比べてWebアプリじゃ需要なさそうなんだよなぁ
ならネイティブアプリを作ればいいんじゃないのかな。
もうすでにレッドオーシャンでアプリだろうがWEBだろうが入るところがないよ
レッドオーシャンだろうが飽和状態だろうがどうでもいい 作りたいってやつが一定数いるんだから
Laravelは標準がTailwindだけど馴れないの俺だけ?
BootstrapってjQueryと同じ扱いなのにまだ使ってる奴いるんだ
>>908 BootstrapとjQueryって俺の中では全く扱い違うんだけど、お前の中でどんな扱いなの?
>>908 そのjQueryもまだ3割は使ってるんやで
Googleトレンドで検索すると React>jQuery>Vue>Next だったりするけどな
Tailwindめんどくせ、Bootstrap使うぜ ⇒Bootstrap柔軟性なさ過ぎて辛い…Tailwindにしとけばよかった… ってなる
古いというよりは使用するには(もとのコンセプトに引っ張られて)冗長だと思うよ ほとんど素のJavaScriptで容易にかけるようになった今、わざわざ使わ理由がなくなったかなぁ エコシステムも古くなってきてるし、「今までありがとう」って感じで、移行してる人が多いと思う
>>912 Tailwindは柔軟性ありすぎだろ
<button class="bg-red-200 hover:bg-red-100 text-white rounded px-4 py-2">Red 200</button>
なコードとか正気の沙汰じゃないぞ
jQuery普通に便利なんだけどな cobol弄ってる様なものなのか
>>909 レガシーシステム
jquery
backbone
coffee script
prototype.js
bootstrap
fontawesome
よーわからんけどこんな事できる? VM WareとかDockerの中にWindows10をC環境入れて 端末A 端末B 端末C それぞれ別のVPNに接続し、 端末A⇒Google 端末B⇒Yahoo 端末C⇒Bing を開くって事は可能?
なぜこのスレで質問しようと思ったのか動機が知りたいなw
PHPやLaravelまるで関係ないけど出来るのでは? やったことないから知らんけどw
そもそも一つの端末でGoogle、Yahoo、Bing開くことできるのに、わざわざ遠回りする意味がわからん
>>920 他で質問したんですが、Laravel使ってる人は基本Dockerを使うから
Laravelスレに聞いたほうが一番くわしい人が多いと言われまして
Dockerだからってなんで特に関係ないLaravelが出てくるんだか Docker使えるプロダクトなんて腐るほどあるのに てかDockerスレとかWin板とかにいけよ
最近、全然頑張らない「なんちゃってクリーンアーキテクチャ」
https://zenn.dev/mpyw/articles/ce7d09eb6d8117 を採用してるんだけど、UseCasesの命名に悩む
サンプルにあるみたいにHogeAction.phpにしていて、ControllerにAction以外が並んでないかチェックするには便利なんだけど、なんとなく命名としては間違ってる気がする
そもそもみんなどんな構造で設計してる?
命名はいつも悩む。何年やってても「これ」ってのがわからない。 ただLaravelは命名規則がわりと自由なんだから、 大枠(ディレクトリ名)だけ決めて、あとはプロジェクト毎でいいんじゃないか? HogeAction.phpでも良いと思うし、それで動くなら変える必要もないだろ
コメントありがとう ただ、動くなら変える必要ないって考えじゃないから、命名で悩んだりするんだろ? もうちょっと手の内晒してくれよ
設計書に対応するソースを見つけやすいように名前付けるとメンテしやすいよ。 画面の個別識別目に続けてNewとかModとかDel付けるとかすると HTMLのほうで「階層違いで画像参照できない」とかならないで済む
>>929 > ControllerにAction以外が並んでないかチェックする
MVCとADRがごっちゃまぜになっていて基礎概念滅茶苦茶でウケル
ADRにするなら構成もADR仕様にしようぜって思うんやけど、
Laravelは出来ないの?
>>931 いや、最終的には「動くならこれでいいか」ってなってる。
じゃないとプロジェクトが進まん。ベストよりベターだよ
まあそれでいいんじゃね プロジェクトによっては作ったあとじゃないと分からないこともあるし
そんな基本設計的な事について「プロジェクトによっては作ったあとじゃないと分からない」なんて事あるの? 何ねん開発やってるの? Laravelerってド素人揃い?
>>936 スモールスタートでプロジェクト始めることが多い昨今、全容見えてきたら当初の設計が適切でなかったなんてことはよくある話。
こんなことが理解できないなんて、新人かニートか?
いやいや、スモールスタートによっても程度があるだろ 後から根幹部分の設計が適切でないケースって、そうそうないぞ
それなりにあるぞ 1プロジェクトに長くいたことなかったり、 ウォーターフォールみたいなのしかしたことなかったりするんやろ 基本設計で未来がどうにかなる時代じゃない
あーLaravelerとか言ってるから昔いた荒らしか、触れないほうがいいな
>>941 スモールスタートって、システムを分割して小出しでリリースすることだと思ってるだろ?
>>937 ,939 が一人で低レベル過ぎて涙出てくるwww
この荒らしは最近の事情なんて知らないんだからスルーしとけ わざわざ教える必要もない
もっと自慢のアーキテクチャが出てくるかと思ったけど無いんかね?
それ叩く材料探してるだけやろ もし不安があるなら自分のを提示し解決してもらえはいい
俺が採用してるのは最初に書いたとおりmpywさんのだよ 叩く材料探してるんじゃなくて違和感を解消したいだけなんだ mpywさんのは程よくていいと思ってるけど、「Action」を並べるのも「Action」って単語をつかうのも少し違う気がする まぁ、うまく伝えられないレベルなんだけどw で、他のアーキテクチャと比べれば違和感の正体とか改善方法、もっと言えば他に移ることもできるかなぁと
違和感ってのは慣れるしかないんだよ Laravelに限らずどんなことについても 完璧にハマることなんてないんだから
なんでLaravelの書籍って一度出版したらバージョンアップの改定版を出さないの? 毎回別の書籍が出るだけじゃん この継続力のなさがララベラーなんだよな
10も特に不都合なく使えそうだわ これはLaravelのいいとこやなあ
うむ。6の本でもほぼ問題ないよ。 ディレクトリ構造は変わってるけど、artisanなんかは同じだし
今だにPHP5が現役で動いている 某サービスがある。 バージョンアップすると影響・手直しが発生しそうで 今だに続いてるwww
マジで一からコード書くよりGPTに書かせて手直し入れた方が早いわw 特にバリデーション系とか一発でヤバイwww
こうゆうやつの作るシステム、ReDoS考えてなさそうで怖い
その位の対策はしてます。 Redos攻撃は、一部の正規表現エンジンが非常に効率的でない特定のパターンに対して脆弱であることを利用しています。攻撃者は、例えば連続する複数の単語の繰り返し(例: (a+)+b)などのパターンを使用し、文字列が繰り返し回数に応じて指数的に増加する場合に、エンジンが非常に遅くなるようにします。 Redos攻撃は、影響を受けたアプリケーションにおいてサービスの遅延や停止を引き起こす可能性があります。そのため、正規表現を使用するアプリケーションでは、慎重に入力のバリデーションや正規表現の最適化を行うことが重要です。また、セキュリティ意識の高い正規表現エンジンの選択や、適切な制限を設定することも重要な対策です。
自前の正規表現でバリデーションするやつは自信家だよな ReDoS知った時点で、普通は正規表現を避ける
>>958 知り合いにいるぞ
かたくなにフレームワークを使わないヤツ
面倒くさいんだそうだ
数年前ならまだしもChatGPTに勝ち目無いから。
>>960 使わないんじゃなくて、使えないの間違え
スキルが低いだけ
>>965 お前もいい加減学習しろ
ドキュメントも読めないそいつからはまともな話は出てこない
Laravelで満足できちゃう低レベルくん、必死杉。
たまに現れる自信家くん(
>>967 )はなんでわざわざLaravlスレに来るの?
>>970 なにが羨ましいのよ?
誰もが自由に使えるもんなのに
>>971 つまり>970の言っている事は見当はずれってこと。
バカなLaravelerはそういう見当はずれな事を言ってこまい自分の気持ちのウサを晴らしているってこと。
またガイジ来たのかよw どうせRuby信者だろ?w
>>974 初心者質問で申し訳ありませんが、
暖かいお言葉ありがとうございます。
質問させていただきます。
Laravelってどうしてクソなんですか?
みんなcomposerのdevに何入れてる? おれはとりあえず barryvdh/laravel-debugbar barryvdh/laravel-ide-helper beyondcode/laravel-dump-server を入れてるけど、他にもっと便利なもんがあれば知りたい
昔はその辺入れてたけど、最近は入れてないな 今やってるプロジェクトは特に何も入れてない xdebugは有効にしているが
>>973 ruby信者は、本心ではlaravelがうらやましいのですw
こないだ作ったやつのコピーだけどこんな感じだった "roave/security-advisories": "dev-latest", "symfony/dom-crawler": "^5.3", "friendsofphp/php-cs-fixer": "^2.16", "orchestra/testbench": "^6.0", "phpunit/phpunit": "^9.3", "vimeo/psalm": "^3.11"
使ったこと無いけど、 laravel-lang/common 楽できそう
資料請求フォーム作ってって相談が来たけど、 最近はLaravelでしか開発してないから断った みんなはこういう案件どうしてる?
デプロイの手間がかかる。要求過度。 1ファイルで済むようなものにフレームワーク使いたくない
デプロイの手間? 簡単やん 1ファイルで済むか? そんな簡単ではないだろ
入力フォームのPHP 投稿確認のHTML返すPHP 投稿後のHTML返すPHP それぞれPOSTを受けてなんやかんやする処理(メール送信とか テスト etc 素のPHPとかで全部1ファイルにまとめることはできるかもしれんけど、 そんな闇鍋は保守したくないですぅ^^ てかフォームだけなら(Laravelじゃなく)外部サービスでいいし、 Web制作やってるとこならテンプレ持ってるやろ
>>987 (デプロイの環境が整っていたら)簡単やん
な。
>>988 テンプレ持ってるけどSmatyだぞw
古くて使用できんよ。改修するのもだるいし
資料請求フォームなんてGoogleフォーム一択やろ
Docker使わずに普通にローカルにmysqlとかapache入れた方が楽じゃね?
それはないな 本番環境からかけ離れるし、デプロイ後に詰んだら目も当てられん Dockerか最低でもVargrant + α
Dcokerって今動いているサーバ(Linux)の状態を丸ごとコピーして ローカルで動かせるの?
>>996 今動いているのとは違う。「この条件なら動く」ってパーツ一式をダウンロードする感じ。
>>998 mysqlは入れられました。
dockerでgitを入れる場合、mysqlのコンテナとは別にまた作成しないといけないですかね?
このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 311日 16時間 57分 0秒
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/ ▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
read.cgi ver 07.7.23 2024/12/25 Walang Kapalit ★ | Donguri System Team 5ちゃんねる
lud20250305000109caこのスレへの固定リンク: http://5chb.net/r/php/1661939631/ ヒント: 5chスレのurlに http ://xxxx.5chb .net/xxxx のようにb を入れるだけでここでスレ保存、閲覧できます。TOPへ TOPへ
全掲示板一覧 この掲示板へ 人気スレ |
>50
>100
>200
>300
>500
>1000枚
新着画像 ↓「【PHP】Laravel【フレームワーク】 Part.12 YouTube動画>1本 ->画像>9枚 」 を見た人も見ています:・WebアプリでMVCを使う理由ってなに? ・php+mysql = オワタ ・てめぇらもイルカの名前考えませんか ・webftpについておしえてくれぇ!! ・[PHPフレームワーク]Laravel ・★負荷軽減対策委員会(Perl、PHP)★ ・アパッチが動かねんだよ!!タコ ・PHPMyAdminに接続を拒否される ・2ch全板人気トーナメントでWebProg板を1位にしよう! ・PDFのWebページは糞 ・天才WEBプログラマの方々に一生のお願い… ・PHPにもJSPのEL式とかtaglibとか標準で用意しろよ ・プログラミング始めて一ヶ月なんだが・・ ・2chを完全にパクッた掲示板を作ってみた ・PHPでオープンソースを作ろう! ・【PHP】Laravel【フレームワーク】 Part.7 ・SOHOやフリーで本当に細々と食ってる奴の68人目 ・clean architectureについて丁寧に俺に教えるスレ ・【勉強するのは】PHPとPerl【どっちが最初?】 ・PHP作成代行してくれるところ ・ファイルメーカーでどこまでできるウェブアプリ! ・IDにPerlが出たら神!PHPが出たらシメジ Part39 ・【我らは】 ひゃらら〜を地でいく 【アホ】 ・【PHP】セッションについて語ろう!【PHP】 ・W→e→b→P→r→o→gと続いたら神 ・HTML(JAVAスクリプト)って覚える必要ありますか? ・YouTubeみたいな動画共有サイトを作る方法 ・PHP質問・雑談スレ3【初心者お断り(ROM歓迎)】 ・【毒】 DokuWiki 総合スレ 【毒】 ・【fcgi】FastCGI 総合スレッド ・Webスクレイピング総合 相談質問 ・Zend Framework Part6 ・オッフェ(=゚ω゚)ノ♪で1000目指すスレ in WebProg ・書き込みはパスワード保持者しかできない掲示板 ・【PHP】Laravel【フレームワーク】 Part.10 ・Perlとか知らんしPHPで掲示板を作ってくスレ ・【Apache】ini書き換えんと使えない言語は糞【Php】 ・JavaとRuby、最初に学ぶならどっち? ・注意!ワードプレスを更新せんとハッキングされる! ・pine(パイン)でのプログラミングについて ・PHP相談室 1 ・【PHP】2chat開発スレ【2chを越える】 ・自作CGIを評価するスレ ・PHPユーザのためのPerl入門 ・IDにPerlが出たら神!PHPが出たらシメジ Part42 ・一人で始めるWEB起業何が一番面白いかな? 5案 ・=== MediaWiki 管理者の集い 第3版 === ・WEBアプリにもっとも適した言語は何か? ・アップローダースレ Part3 ・【高速】 LiteSpeed Web Server その2 【LSWS】 ・WebProg板自治スレッド ・Mac OS X + PHP + MySQL ・★今VBAを勉強してるんだが★ ・escapade[.esp]について語る人なんているのか ・30代が趣味でこれから覚えるならどっち?Perlかphp ・(;・∀・)また、騙されたの? ・もうそろそろクッキーJavaScript必須でいいですか? ・【待望】PerlユーザのためのPHP入門 ・【PHP】Phalcon【フレームワーク】 ・自作アプリ作ったんだけど誰か試して ・【MVW】AngularJS {{2}}【Google】 ・Perlコーディング初心者質問 (荒らし専用) スレ 66 ・お前等が欲しいと思う2ch関係サービスを書け ・有料レンタルCGIは儲かるのか? ・【PHP】フレームワーク CakePHP 17ホール目【v3α】
14:36:48 up 72 days, 14:40, 0 users, load average: 6.71, 7.23, 7.60
in 0.070426940917969 sec
@0.070426940917969@0b7 on 032703