[過去ログ]
【PHP】下らねぇ質問はここに書き込みやがれ 13 (1002レス)
【PHP】下らねぇ質問はここに書き込みやがれ 13 http://mevius.5ch.net/test/read.cgi/tech/1631147923/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
1: デフォルトの名無しさん (アウアウクー MM6f-zbgo) [sage] 2021/09/09(木) 09:38:43.41 ID:eDlF7Xc4M !extend::vvvvv:1000:512 !extend::vvvvv:1000:512 !extend::vvvvv:1000:512 ★スレ立て時 ↑ が3行以上になるようコピペ PHPに関する質問スレです 前スレ 【PHP】下らねぇ質問はここに書き込みやがれ 12 https://mevius.5ch.net/test/read.cgi/tech/1619667579/ 次スレは>>980以降 VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured http://mevius.5ch.net/test/read.cgi/tech/1631147923/1
922: デフォルトの名無しさん (ブーイモ MM4f-nIF8) [sage] 2022/08/25(木) 14:49:04.19 ID:hXEJOwJJM ライブラリ便利そうだけど、今更rubyに変えられないからphpで頑張るわ http://mevius.5ch.net/test/read.cgi/tech/1631147923/922
923: デフォルトの名無しさん (JP 0H33-O5Bg) [sage] 2022/08/25(木) 15:32:48.32 ID:GV4MPWBaH PHPでもLaravelとか使えば同じでは? http://mevius.5ch.net/test/read.cgi/tech/1631147923/923
924: デフォルトの名無しさん (JP 0Hd3-Vr/7) [sage] 2022/08/25(木) 16:50:21.79 ID:WIenj4cIH Laravel使えないサーバーもまだ多いのが問題なのかも http://mevius.5ch.net/test/read.cgi/tech/1631147923/924
925: デフォルトの名無しさん (ワッチョイ 7f63-tEjH) [sage] 2022/08/25(木) 16:54:20.42 ID:iqB4j8J+0 昭和十年十二月十日に ぼくは不完全な死体として生まれ 何十年かかゝって 完全な死体となるのである http://mevius.5ch.net/test/read.cgi/tech/1631147923/925
926: デフォルトの名無しさん (JP 0H33-O5Bg) [sage] 2022/08/25(木) 18:51:47.54 ID:GV4MPWBaH Laravel使えないならRailsも使えんだろうしなぁ ユニットテスト云々以前の問題のような http://mevius.5ch.net/test/read.cgi/tech/1631147923/926
927: デフォルトの名無しさん (ワッチョイ 9f5f-UIZa) [sage] 2022/08/25(木) 20:03:05.12 ID:BRCxE1d+0 wordpressに対応しないでください… http://mevius.5ch.net/test/read.cgi/tech/1631147923/927
928: デフォルトの名無しさん (ワッチョイ 9f01-dbST) [sage] 2022/08/26(金) 06:38:37.45 ID:MROGQRE10 2022/2/3 2022-02-03 スラッシュ形式保存されてる内閣府の祝日CSVですが、 桁揃えてハイフン形式になおしたいです。 どうすればいいですか? http://mevius.5ch.net/test/read.cgi/tech/1631147923/928
929: デフォルトの名無しさん (ワッチョイ 9f01-dbST) [sage] 2022/08/26(金) 07:24:25.37 ID:MROGQRE10 >>928 自決 http://mevius.5ch.net/test/read.cgi/tech/1631147923/929
930: デフォルトの名無しさん (ワッチョイ 7f47-tEjH) [sage] 2022/08/26(金) 11:55:44.04 ID:a/x93rb70 >>928 vsprintf('%d-%02d-%02d', explode('/', '2022/2/3')) http://mevius.5ch.net/test/read.cgi/tech/1631147923/930
931: デフォルトの名無しさん (ワッチョイ 7fda-oOo3) [] 2022/08/26(金) 13:17:02.67 ID:4wt+rugM0 >>930 vsprintfのマニュアルの戻り値の説明に 「 format に基づき、 フォーマットされた文字列の配列を返します。 」とありますが「文字列の配列」という意味がわかりません。 戻り値は文字列で配列ではないように思うのですが違うのでしょうか? https://www.php.net/manual/ja/function.vsprintf.php#refsect1-function.vsprintf-returnvalues http://mevius.5ch.net/test/read.cgi/tech/1631147923/931
932: デフォルトの名無しさん (ワッチョイ 9f02-RKJr) [age] 2022/08/26(金) 13:26:19.15 ID:b66GPlrN0 内部で文字列から配列に変換してからフォーマットする 型がない言語(型推論)だから戻り値を使うまでは配列 http://mevius.5ch.net/test/read.cgi/tech/1631147923/932
933: デフォルトの名無しさん (ワッチョイ 7f47-tEjH) [sage] 2022/08/26(金) 14:10:02.84 ID:a/x93rb70 >>931 その日本語、英語版( ttps://www.php.net/manual/en/function.vsprintf.php )原文の > Return array values as a formatted string according to format. から「values」に相当する部分が抜けてるような気が。抜けてなくてもなんかよく分からん表現だが まぁ気になるんなら、戻り値が「フォーマット済みの日付文字列」「formatted date string」と明示されてる DateTime::createFromFormat('Y/m/d', '2022/2/3')->format('Y-m-d') を使ってみるとか http://mevius.5ch.net/test/read.cgi/tech/1631147923/933
934: デフォルトの名無しさん (ワッチョイ 7fda-oOo3) [] 2022/08/26(金) 16:07:35.09 ID:4wt+rugM0 Return array values as a formatted string according to format. DeepLで翻訳したら 配列の値をformatにしたがって整形した文字列として返す。 となりました。多分これが正解だと思います。 英語版のマニュアルの見出しにも vsprintf (PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8) vsprintf — Return a formatted string とあるのでやはり戻り値はフォーマットされた文字列でおkですよね? http://mevius.5ch.net/test/read.cgi/tech/1631147923/934
935: デフォルトの名無しさん (ワッチョイ 7f47-tEjH) [sage] 2022/08/26(金) 17:35:03.11 ID:a/x93rb70 「ですよね」と言われても、マニュアルに書いてある以上の情報なんて持ってないしな てか、なんで試さないの? var_dump()してstringが返ってくるかどうか、30秒で確認できるっしょ http://mevius.5ch.net/test/read.cgi/tech/1631147923/935
936: デフォルトの名無しさん (ワッチョイ 7f1f-oOo3) [] 2022/08/26(金) 17:52:53.92 ID:8DGxFkjA0 >>935 そんなのとっくにやってますよ。 マニュアルがおかしいんじゃないかっていう意味で聞いたんですけどね。 ソースに当たってみました。 やはり返り値は文字列ですね。 https://github.com/php/php-src/blob/23e6856e41cb7e8e29c3824ad53b26c0a57f4da0/ext/standard/formatted_print.c http://mevius.5ch.net/test/read.cgi/tech/1631147923/936
937: デフォルトの名無しさん (ワッチョイ ffbb-MAx6) [sage] 2022/08/26(金) 18:34:59.55 ID:AOSBa6FO0 なんでそんな誤訳(?)したんだろうね 確認お疲れさまでした マニュアルはGitHub管理のはずなのでPR出しておくと修正されるよ http://mevius.5ch.net/test/read.cgi/tech/1631147923/937
938: デフォルトの名無しさん (ベーイモ MM8f-7ygK) [sage] 2022/08/26(金) 19:00:30.76 ID:aLr+AxJ9M このスレ、>>934から「文字列で返ることは確認済み、問題にしてるのはマニュア ルの記述だ」と読み取らないと質問者様のお怒りを招くのか。レベル高いな http://mevius.5ch.net/test/read.cgi/tech/1631147923/938
939: デフォルトの名無しさん (ワッチョイ 7f63-tEjH) [sage] 2022/08/26(金) 19:15:45.56 ID:S8Vleaqc0 我らは試されているのだ http://mevius.5ch.net/test/read.cgi/tech/1631147923/939
940: デフォルトの名無しさん (ワッチョイ 9fb0-oOo3) [sage] 2022/08/26(金) 20:02:27.99 ID:8ESD7+yH0 >>932なんて完全なアホだし >>933もよく分かってないだろう 知ったかぶりして回答しないことだなw http://mevius.5ch.net/test/read.cgi/tech/1631147923/940
941: デフォルトの名無しさん (ワッチョイ 9f01-oOo3) [sage] 2022/08/26(金) 20:09:08.43 ID:27BJw2950 PHPのドキュメントは翻訳だから間違いがあるのはしょうがない。 その点Rubyは開発者が日本人だから日本語ドキュメントも完璧。 初心者がドキュメントの正誤判断することは不可能 初心者はRubyから学習を始めるべき。 そしてRubi on Railsを習得すればPHPは不要 こっちのスレで質問すれば親切な達人プログラマーがどんな質問にも懇切丁寧に答えてくれる。 ↓ Ruby 初心者スレッド Part 67 https://mevius.5ch.net/test/read.cgi/tech/1608837867/ http://mevius.5ch.net/test/read.cgi/tech/1631147923/941
942: デフォルトの名無しさん (ワッチョイ 9f02-RKJr) [age] 2022/08/26(金) 20:25:26.88 ID:b66GPlrN0 >>940 私はphp言語の開発者です お前はphpの使用禁止 http://mevius.5ch.net/test/read.cgi/tech/1631147923/942
943: デフォルトの名無しさん (ワッチョイ eebb-I0L/) [sage] 2022/08/27(土) 05:59:08.06 ID:fRqWQAA00 >>942 日本語お上手ですね どなたですか? https://thephp.foundation/blog/2022/03/31/the-php-foundation-update-march-2022/ http://mevius.5ch.net/test/read.cgi/tech/1631147923/943
944: デフォルトの名無しさん (ワッチョイ 2102-f2QG) [age] 2022/08/27(土) 07:25:49.03 ID:jzDPthdr0 ドット演算子、アロー演算子を作った人なので 今はコア開発者ではありませんよ http://mevius.5ch.net/test/read.cgi/tech/1631147923/944
945: デフォルトの名無しさん (ワッチョイ eebb-I0L/) [sage] 2022/08/27(土) 07:51:30.13 ID:fRqWQAA00 てことはレジェンドじゃないですか! Andi さん?Zeev さん? まさかの Rasmus さん? http://mevius.5ch.net/test/read.cgi/tech/1631147923/945
946: デフォルトの名無しさん (ワッチョイ 2102-f2QG) [age] 2022/08/27(土) 10:53:28.68 ID:jzDPthdr0 誰を名乗っても問題ありませんので誰でも良いですが まあ、完全なアホというのは良くないですよ というか、アホは完全でないからアホですよね つまり私はある種完全性を肯定されました ありがとうございます http://mevius.5ch.net/test/read.cgi/tech/1631147923/946
947: デフォルトの名無しさん (ワッチョイ b1ac-C0nc) [sage] 2022/08/27(土) 16:24:36.45 ID:4Qb5g2XJ0 夏休みだなあ http://mevius.5ch.net/test/read.cgi/tech/1631147923/947
948: 十円玉 ◆ZzHmfXMmRApz (ワッチョイ ae35-HUXm) [sage( ´-`)y-~~] 2022/08/31(水) 02:14:29.44 ID:NHfTTCA80 知らんうちにPOSIX系関数の返り値が多次元化されてたのね。preg_matchとか。 http://mevius.5ch.net/test/read.cgi/tech/1631147923/948
949: デフォルトの名無しさん (ワッチョイ 6e10-fFoX) [sage] 2022/08/31(水) 13:21:22.49 ID:RpICLcti0 WordPressの管理画面にログインもしていないのに サイト更新が完了しましたメールが届きます。 これってどういう仕組みで実現してるんですか? Cronで実行用のファイルを動作させないと無理ですよね? http://mevius.5ch.net/test/read.cgi/tech/1631147923/949
950: デフォルトの名無しさん (ワッチョイ c95f-WaMk) [sage] 2022/08/31(水) 13:26:41.54 ID:0bu00RjS0 別にcronじゃなくてもいい 誰かがサイトにアクセスしたらサイト更新チェックのトリガーが発動とかでもできる http://mevius.5ch.net/test/read.cgi/tech/1631147923/950
951: デフォルトの名無しさん (ワッチョイ 0263-yNcK) [sage] 2022/08/31(水) 14:56:28.92 ID:2/ZssPvh0 Cronで、何が変更されたか全体を調べて通知するよりも 変更をトリガーにして通知を送らせる方が、多分軽い http://mevius.5ch.net/test/read.cgi/tech/1631147923/951
952: デフォルトの名無しさん (ワッチョイ 6e10-fFoX) [sage] 2022/08/31(水) 21:04:09.52 ID:RpICLcti0 >>950 PHPって同期通信だから、誰かのアクセスが遅延したりするんですか? >>951 全体を調べなくても、バージョン情報だけ調べれば良いのでは http://mevius.5ch.net/test/read.cgi/tech/1631147923/952
953: デフォルトの名無しさん (ワッチョイ c95f-WaMk) [sage] 2022/08/31(水) 22:37:17.82 ID:0bu00RjS0 >>952 PHPでも非同期処理できるし、遅延はほとんどなしにできるでしょ http://mevius.5ch.net/test/read.cgi/tech/1631147923/953
954: デフォルトの名無しさん (ワッチョイ 3d02-Ickp) [sage] 2022/08/31(水) 23:07:38.07 ID:frCvHqxU0 スレ違いのクソレスしか能がない御方には難しすぎるな… http://mevius.5ch.net/test/read.cgi/tech/1631147923/954
955: デフォルトの名無しさん (ワッチョイ 0263-yNcK) [sage] 2022/08/31(水) 23:14:07.18 ID:2/ZssPvh0 悪意のあるひっかけだったんだ http://mevius.5ch.net/test/read.cgi/tech/1631147923/955
956: デフォルトの名無しさん (ワッチョイ 6e10-fFoX) [sage] 2022/09/01(木) 08:27:02.20 ID:5Hoki9RX0 >>953 つまり、考え方としては 1)WordPressの公開画面に誰かがアクセスする 2)Ajaxなどで非同期処理して更新チェック 3)更新する必要がある場合は、自動更新 って仕様なんですかね? であるならば、WordPress以外のPHPアプリでもできそうですね http://mevius.5ch.net/test/read.cgi/tech/1631147923/956
957: デフォルトの名無しさん (ワッチョイ c95f-WaMk) [sage] 2022/09/01(木) 10:56:30.21 ID:z98R98W20 >>956 Ajaxなんか使わなくてもPHPのexec()だけで非同期処理できる あとはそんな感じ もちろん実装の一例で、それ以外の方法もあるだろう http://mevius.5ch.net/test/read.cgi/tech/1631147923/957
958: デフォルトの名無しさん (ワッチョイ 6e10-fFoX) [sage] 2022/09/01(木) 22:43:07.28 ID:5Hoki9RX0 >>957 わかりました。調べてみます。ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1631147923/958
959: デフォルトの名無しさん (ワッチョイ b1ac-C0nc) [sage] 2022/09/02(金) 00:01:20.44 ID:tq/iSZ/+0 いえいえ http://mevius.5ch.net/test/read.cgi/tech/1631147923/959
960: デフォルトの名無しさん (ワッチョイ eaa9-Mjbb) [sage] 2022/09/10(土) 15:24:58.45 ID:3OR0LZqv0 pdoとプリアドステートメントというのをやってみたのですが $stmt = $pdo->prepare("クエリ文"); $stmt->bindValue(・・・) $stmt->execute(); ここでDBにアクセスしていると思いますが、 行数を数える $stmt->fetchColumn() や foreach ($stmt->fetchAll() as $row) { を使う時はDBにアクセスしているのでしょうか? 一旦 $result = $stmt->execute(); みたいに結果を変数に入れてから $result->fetchColumn() $result->fetchAll() のような使い方をすればいいのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1631147923/960
961: デフォルトの名無しさん (ワッチョイ e6bb-VPVD) [sage] 2022/09/10(土) 20:11:18.23 ID:MysCJx+R0 PDOStatement::execute() の戻り値は成否を表すboolなので $result = $stmt->execute(); は結果セットの取り出しとは無関係です :execute()されるとPDOStatement:に結果セットがセットされます fetch~は結果セットから取り出すメソッドなのでDBアクセスは伴いません マニュアルを読んで実験してみるよ良いですよ http://mevius.5ch.net/test/read.cgi/tech/1631147923/961
962: デフォルトの名無しさん (ワッチョイ ea51-AnFa) [] 2022/09/12(月) 12:44:00.88 ID:PWuvGxZT0 Symfonyってもう最近使われないですか? 10年前にSymfonyで作られたWebアプリの保守の案件があるのですが http://mevius.5ch.net/test/read.cgi/tech/1631147923/962
963: デフォルトの名無しさん (ワッチョイ e6bb-VPVD) [sage] 2022/09/12(月) 12:51:41.95 ID:S31S8+BV0 少しは調べろ http://mevius.5ch.net/test/read.cgi/tech/1631147923/963
964: デフォルトの名無しさん (ワッチョイ ea51-AnFa) [] 2022/09/12(月) 13:07:20.58 ID:PWuvGxZT0 >>963 ぐぐっても2006年の資料とか・・・ 2019年に最新版は出ているみたいですが、新しい資料じたいがあまり無いゆえ。 http://mevius.5ch.net/test/read.cgi/tech/1631147923/964
965: デフォルトの名無しさん (ワッチョイ e6bb-VPVD) [sage] 2022/09/12(月) 13:17:36.74 ID:S31S8+BV0 wikipedia やそこから辿れる公式すら見てねぇじゃねぇか エンジニアになりたかったらまずは公式読めるようになれ http://mevius.5ch.net/test/read.cgi/tech/1631147923/965
966: デフォルトの名無しさん (ワッチョイ eaa9-Mjbb) [sage] 2022/09/12(月) 14:21:38.34 ID:Ynnd8wx/0 >>961 アロー演算子というのに全く慣れていなくて $stmt->bindValue(・・・) $stmt->execute(); ->を使うと$stmtというのが上書きされていく感じでしょうか? 昔は手続き型を使っていたので $resultに結果を入れて、あれこれやっていましたが この -> が変数に代入することなく使えるのが不思議な感じです もう少しマニュアル読んでみます https://www.php.net/manual/ja/pdo.prepared-statements.php http://mevius.5ch.net/test/read.cgi/tech/1631147923/966
967: デフォルトの名無しさん (ワッチョイ a902-+Wio) [sage] 2022/09/12(月) 23:14:41.96 ID:H6EQTEjA0 なんで.じゃダメだったのかなぁ… 中途半端にPerl構文引き継いだせいで面倒なことに… http://mevius.5ch.net/test/read.cgi/tech/1631147923/967
968: デフォルトの名無しさん (ワッチョイ 1e66-JoGj) [sage] 2022/09/13(火) 01:04:23.23 ID:k/lRopxK0 文字列の連結に使ってるからでしょ。 文字変数と、文字列を返す関数、この2つの項の文字列としての連結と区分けが付かなくなるじゃん。 インスタンス自体も文字列評価可能なんだし。 http://mevius.5ch.net/test/read.cgi/tech/1631147923/968
969: デフォルトの名無しさん (ワッチョイ 157b-hFL5) [sage] 2022/09/13(火) 01:45:06.58 ID:d4v/1ArY0 >>967 -> はC由来で . はPerl由来か? プログラミング言語とスクリプト言語を中途半端に交ぜたからだね 文字列連結も + のほうが分かりやすいしそうするべきだったかと http://mevius.5ch.net/test/read.cgi/tech/1631147923/969
970: デフォルトの名無しさん (ワッチョイ 1e66-JoGj) [sage] 2022/09/13(火) 03:02:48.59 ID:k/lRopxK0 アローもドットも:: も全部C++由来では。 C++自体別から引用してるだろけど、 3つか揃い踏みしたトップランクな有名言語はC++だろう。 ポインタ経由、実態経由、クラス経由で記述を分けた。 結局分けないPythonやC#みたいな言語の方が書きやすいという... http://mevius.5ch.net/test/read.cgi/tech/1631147923/970
971: デフォルトの名無しさん (ワッチョイ 157b-hFL5) [sage] 2022/09/13(火) 08:20:07.32 ID:d4v/1ArY0 >>970 お前がまるで分かってない事だけは分かった http://mevius.5ch.net/test/read.cgi/tech/1631147923/971
972: デフォルトの名無しさん (ワッチョイ 1e66-OVjx) [sage] 2022/09/13(火) 11:25:42.23 ID:k/lRopxK0 どっか間違ってるの? http://mevius.5ch.net/test/read.cgi/tech/1631147923/972
973: デフォルトの名無しさん (ワッチョイ ea63-OdF3) [sage] 2022/09/13(火) 11:44:23.05 ID:1xD6R/mV0 ドット演算子はCobolの頃からある http://mevius.5ch.net/test/read.cgi/tech/1631147923/973
974: デフォルトの名無しさん (ワッチョイ 66f2-JkEp) [sage] 2022/09/13(火) 11:46:51.82 ID:Gwjyu6tY0 変数型宣言がない言語で+で文字連結できちゃうとバグの温床になる http://mevius.5ch.net/test/read.cgi/tech/1631147923/974
975: デフォルトの名無しさん (ワッチョイ 1e66-OVjx) [sage] 2022/09/13(火) 11:48:10.80 ID:k/lRopxK0 だから、個々は別から引用したかもしれんが、 3つ揃い踏みしたトップランクメジャー言語はと書いてるじゃないか。 http://mevius.5ch.net/test/read.cgi/tech/1631147923/975
976: デフォルトの名無しさん (ワッチョイ ea63-OdF3) [sage] 2022/09/13(火) 11:49:48.73 ID:1xD6R/mV0 あ、ごめん 間違いだ http://mevius.5ch.net/test/read.cgi/tech/1631147923/976
977: デフォルトの名無しさん (ワッチョイ 157b-hFL5) [sage] 2022/09/13(火) 12:58:34.49 ID:d4v/1ArY0 >>976 COBOLは & らしい。気持ちは分かるが今となっては糞仕様だな。 >>974 それはJSのことを言ってるのか? ただそれはない。 数値型の変数はほぼ全部のケースで変数名で数値だと明確であり、そこはバグらない。 countやlength、num_of_xxxを文字列で扱う馬鹿はそれ以前の問題だ。 http://mevius.5ch.net/test/read.cgi/tech/1631147923/977
978: デフォルトの名無しさん (ワイーワ2 FF92-pw5f) [sage] 2022/09/13(火) 13:58:56.46 ID:CtcsooHUF テンプレートリテラル{}使うか.による文字列結合使うかの判断がちゃんと出来ない 今の所ラクな方選んでるだけだな http://mevius.5ch.net/test/read.cgi/tech/1631147923/978
979: デフォルトの名無しさん (ワッチョイ 7702-okD4) [sage] 2022/09/17(土) 18:54:08.82 ID:X8JZx5Pn0 それでいいわ。強いて言うならエスケープしないで済む方 http://mevius.5ch.net/test/read.cgi/tech/1631147923/979
980: デフォルトの名無しさん (ワッチョイ ff97-W3aP) [sage] 2022/09/19(月) 12:37:28.97 ID:TYV9CYn40 PHPの学習で、トランザクション勉強していますが。 おおざっぱに、「一連のクエリ処理を一つの処理と見立てて、途中失敗したら最初からなかったことにする」 機能かと思います。 で、課題として、簡単なECサイト作っています。 一般の利用者が商品を選択しカートを入れ、お金を払って買い上げるのようなものです。 テーブルは「カート」「商品情報」「利用者」「在庫情報」です。(ほんとは英字です。) 利用者が購入に失敗したら、ロールバックで購入が無かったことにします。 ここで、一連のクエリ処理というのは、「商品を選びカートに入れる」というところから始まるのでしょうか? 「商品を選びカートに入れる」という行為と、「カートにある商品を買う」という行為を わけて、「カートにある商品を買う」について、トランザクションを設定するものでしょうか? すいません。意味とおりますかね。。よろしくお願いします。 http://mevius.5ch.net/test/read.cgi/tech/1631147923/980
981: デフォルトの名無しさん (ワッチョイ 9f7c-E+l9) [sage] 2022/09/19(月) 13:12:25.33 ID:9xLKPVoG0 単に最後の購入処理で途中でエラーが発生して整合性が取れない時に ロールバックするぐらいのイメージで良いのでは? 途中のカートに追加するような処理はそれ単体で失敗すればロールバックかなと (この場合、カートに追加する処理に失敗したという事でカートは前のまま) http://mevius.5ch.net/test/read.cgi/tech/1631147923/981
982: デフォルトの名無しさん (スップ Sd3f-Zv9H) [sage] 2022/09/19(月) 13:18:10.02 ID:k2Lhsy4nd カートに入れるところからトランザクション始めたら買われるまで一連の処理終われないし、途中でタイムアウトするやろw http://mevius.5ch.net/test/read.cgi/tech/1631147923/982
983: デフォルトの名無しさん (ワッチョイ 9f63-E+l9) [sage] 2022/09/19(月) 13:19:16.24 ID:zeLiCYh20 カートに入れる処理はトランザクション二する必要がない 利用者が自分の意志で取り消すケースもあるわけだし 必要なのは、利用者が決定ボタンを押して、購入完了になるプロセスくらいじゃないかな 一つしかない商品を他の利用者と競合して購入したかもしれないし 複数種類を購入した際に、一つが在庫不足になってたかもしれない そういうときに、決定ボタンを押す直前までロールバックが必要になる http://mevius.5ch.net/test/read.cgi/tech/1631147923/983
984: デフォルトの名無しさん (ワッチョイ ffbb-AZvI) [sage] 2022/09/19(月) 14:16:17.85 ID:8Jf173KW0 トランザクションとかセッションとかは文脈で定義される範囲が変わるのでちゃんと意識して書いたほうがいい その上で、今回はDBのトランザクションのことだとエスパーして回答すると設定される範囲は間違い 記述がないので何をトランザクション処理として設定するかは回答できないけど、「ユーザの決済処理」「在庫処理」あたりがひとまとまりになると思う 入門書で記述されるトランザクションとついでにプリペアドステートメント(プレースホルダ)処理はデータベース側の処理なので入門書から離れてデータベース側の処理をデータベースの公式を参照しながら学習すると良い http://mevius.5ch.net/test/read.cgi/tech/1631147923/984
985: デフォルトの名無しさん (ワッチョイ ff97-W3aP) [sage] 2022/09/19(月) 16:01:50.25 ID:TYV9CYn40 みなさんありがとうございました。 良くわかりました! http://mevius.5ch.net/test/read.cgi/tech/1631147923/985
986: デフォルトの名無しさん (ワッチョイ ff97-W3aP) [] 2022/09/20(火) 00:39:07.48 ID:Sb2Kpzh+0 phpmyadmin にINT型でUNSIGNED(整数マイナスを除く)に設定したカラムがあります。 直接phpmyadmin上でこのカラムのデータに対して、SQL文でマイナスの値をUPDATEしようとすると 以下のようなアラートが返ってきます。ただし、データは0の値になります。 Warning: #1264 Out of range value for column 'test_int' at row 7 phpから、PDO接続で同じようにUPDATEしたとき、エラーとさせて入力を拒否したいのですが方法がありますでしょうか? try-catch文で、以下のようにしたものの、ただ値が0になるだけしかなりませんでした。 良いアイデアがあれば教えてください。 $a =-100; try { $ps = $db->prepare("UPDATE tb2 SET test_int = :a WHERE nam = 'タヌキ'"); $ps->bindParam(":a", $a); $ps->execute(); echo "UPDATE成功"; } catch (RangeException $e){ echo "UPDATE失敗"; } http://mevius.5ch.net/test/read.cgi/tech/1631147923/986
987: デフォルトの名無しさん (ワッチョイ 9f63-E+l9) [sage] 2022/09/20(火) 09:09:20.54 ID:Sk0Tcp2N0 UPDATE以前二範囲チェックをPHPで行えば? http://mevius.5ch.net/test/read.cgi/tech/1631147923/987
988: デフォルトの名無しさん (ワッチョイ ffbb-AZvI) [sage] 2022/09/20(火) 09:18:10.74 ID:fhvmpEXe0 試してないけどMySQL側に警告じゃなくてエラーを返すモードがあるみたい https://dev.mysql.com/doc/refman/8.0/ja/sql-mode.html TRADITIONAL を有効にすることでエラーを返すようになるみたい http://mevius.5ch.net/test/read.cgi/tech/1631147923/988
989: デフォルトの名無しさん (ワッチョイ 9701-jQT+) [sage] 2022/09/20(火) 12:21:17.30 ID:F74Rs01Q0 事前チェックが嫌な理由はなんだろ http://mevius.5ch.net/test/read.cgi/tech/1631147923/989
990: デフォルトの名無しさん (ワッチョイ 9f7c-E+l9) [sage] 2022/09/20(火) 15:40:51.68 ID:r8LO5qc30 普通はバリデーションをしてSQLでエラーにならない値を設定するかなと SQLでのエラーは想定外の事が起きた場合に限る感じ http://mevius.5ch.net/test/read.cgi/tech/1631147923/990
991: デフォルトの名無しさん (ワッチョイ ff97-W3aP) [sage] 2022/09/20(火) 15:44:19.38 ID:Sb2Kpzh+0 ありがとうございます。 事前チェックが良いですね。ありがとうございます。 データベースからのエラーを拾いたいのは、 トランザクションのコミットかロールバックの判断を try-catchで補足しないといけないかと、 勝手に思っていたからです。 (多くの参考書がtry-catch文で判断していたから) でも、処理毎にエラー文を配列に格納して、 最後の処理の後に、配列の内容の有無を確認して、 トランザクションの判断をすればいいですね。 http://mevius.5ch.net/test/read.cgi/tech/1631147923/991
992: デフォルトの名無しさん (ワッチョイ 9f63-E+l9) [sage] 2022/09/20(火) 15:59:12.72 ID:Sk0Tcp2N0 トランザクション処理でその様なエラーを拾わせるって まずくね? たぶん、クライアントから受け取ったデータだと思うし、 それって単独で許容値かどうかを判断出来ると思うんだよ Web画面経由なら、クライアント画面にエラー表示させて 再入力を促せると思うんだ そうすればどう言うエラーか判断する必要もないよね http://mevius.5ch.net/test/read.cgi/tech/1631147923/992
993: デフォルトの名無しさん (ワッチョイ 9f7c-E+l9) [sage] 2022/09/20(火) 15:59:16.45 ID:r8LO5qc30 バリデーション 問題があればここでエラーを返し下の処理はしない try{ トランザクション開始 SQL実行 コミット }catch(Exception e) { ロールバック DBでエラーが発生した事を返す } 正常終了 http://mevius.5ch.net/test/read.cgi/tech/1631147923/993
994: デフォルトの名無しさん (ワッチョイ ff97-W3aP) [sage] 2022/09/20(火) 16:20:00.83 ID:Sb2Kpzh+0 入力の例外値などは、 トランザクションで判別させるようなものじゃない。 ってことですか? http://mevius.5ch.net/test/read.cgi/tech/1631147923/994
995: デフォルトの名無しさん (ワッチョイ ff97-W3aP) [sage] 2022/09/20(火) 16:27:13.11 ID:Sb2Kpzh+0 トランザクションの判別は、何か想定外の問題が起きた時であって、 想定されるような問題は事前になんとかしとけということかな。 http://mevius.5ch.net/test/read.cgi/tech/1631147923/995
996: デフォルトの名無しさん (ワッチョイ 9f63-E+l9) [sage] 2022/09/20(火) 16:33:06.67 ID:Sk0Tcp2N0 トランザクションで判定しないと行けないのは、 リソースの取り合いがあるときやDB自身の障害など DB側でしか分からないようなケースだな http://mevius.5ch.net/test/read.cgi/tech/1631147923/996
997: デフォルトの名無しさん (ワッチョイ ff97-W3aP) [sage] 2022/09/20(火) 16:36:01.02 ID:Sb2Kpzh+0 ありがとうございます。 ということは、トランザクションは、 try-catch文で例外判断するのが一般的なのですね。 http://mevius.5ch.net/test/read.cgi/tech/1631147923/997
998: デフォルトの名無しさん (ワッチョイ 97da-E+l9) [] 2022/09/20(火) 23:33:16.97 ID:k4MHQr8J0 クラスのファイル名の拡張子に .inc を使うのは 今の時代では許されてないの? 許されるなら .inc を使い続けたい http://mevius.5ch.net/test/read.cgi/tech/1631147923/998
999: デフォルトの名無しさん (ワッチョイ 9fb7-ldZd) [sage] 2022/09/21(水) 00:13:56.09 ID:9N/hP2WI0 次スレ立ってた 【PHP】下らねぇ質問はここに書き込みやがれ 14 https://mevius.5ch.net/test/read.cgi/tech/1663659983/ >>998 まずはPSR-0や4を調べてもらって、その上でincにしたいと言うなら 個人の趣味開発くらいなら自由にしたら良いと思う http://mevius.5ch.net/test/read.cgi/tech/1631147923/999
1000: デフォルトの名無しさん (ワッチョイ 97da-E+l9) [sage] 2022/09/21(水) 13:48:44.07 ID:kTmMqKR00 >>999 PSR-0を読んで、そういや .incはダメって書いてねーな・・・ と思ったので聞いてみました! 1000なら許される http://mevius.5ch.net/test/read.cgi/tech/1631147923/1000
1001: 1001 [] ID:Thread このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 377日 4時間 10分 1秒 http://mevius.5ch.net/test/read.cgi/tech/1631147923/1001
1002: 1002 [] ID:Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。 運営にご協力お願いいたします。 ─────────────────── 《プレミアム会員の主な特典》 ★ 5ちゃんねる専用ブラウザからの広告除去 ★ 5ちゃんねるの過去ログを取得 ★ 書き込み規制の緩和 ─────────────────── 会員登録には個人情報は一切必要ありません。 月300円から匿名でご購入いただけます。 ▼ プレミアム会員登録はこちら ▼ https://premium.5ch.net/ ▼ 浪人ログインはこちら ▼ https://login.5ch.net/login.php http://mevius.5ch.net/test/read.cgi/tech/1631147923/1002
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.702s*