[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 06/11 12:00 / Filesize : 340 KB / Number-of Response : 1015
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】下らねぇ質問はここに書き込みやがれ 7



1 名前:デフォルトの名無しさん(ワッチョイ 1342-Xqtn) mailto:sage [2016/11/09(水) 11:03:26.15 ID:eAjeihOa0.net]

PHPに関する下らない質問用避難スレです。
まず読むこと【PHPマニュアル】
www.php.net/manual/ja/

前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 5(実質6)
echo.2ch.net/test/read.cgi/tech/1462971286/

次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured

152 名前:デフォルトの名無しさん (ワッチョイ 138c-BwdM) [2016/11/25(金) 22:29:05.06 ID:am9ZDc9v0.net]
例外処理でいくつか質問です
ErrorException
Exception
の違いについてですが

基本的にはException を使い、severity(深刻度)などのプロパティを決めたい場合はErrorExceptionを使う、
という認識で良いでしょうか?

Exception
php.net/manual/ja/class.exception.php
ErrorException
php.net/manual/ja/class.errorexception.php

またcatchでは以下のように基底クラスのExceptionクラスで受けたほうが良いのでしょうか?
catch(Exception $e)

以下ではエラーになります
try {
throw new Exception ('throw new Exception ');
} catch(ErrorException $e) {
echo $e->getMessage().'<br>';
}

もう一つ、php7ではErrorクラスとExceptionクラスを両方catchするために
Throwableで指定した方がいいのでしょうか?
catch(Throwable $e)

153 名前:デフォルトの名無しさん (ワッチョイ 6f2c-lM3r) mailto:sage [2016/11/26(土) 05:00:37.53 ID:l19dqbE50.net]
何のためにキャッチするのかって話

154 名前:デフォルトの名無しさん (ワッチョイ 0bd6-rApL) mailto:sage [2016/11/26(土) 11:00:09.75 ID:zRxKnjZm0.net]
PHP5.6までのケースで説明すると、PHPのエラーは元々例外ではないので、
php.net/manual/ja/class.errorexception.php
の「例」のようにexception_error_handler()を設定して例外に変換することで、エラーハンドリングを行いやすくしていた。

この場合の変換に用いられるのがErrorException。

つまりErrorExceptionは、Error、WarningやNoticeといった、プログラムの実行に関する例外として投げるべきもので、
端的にいうとデバッグ用として用いられ、アプリケーション特有の例外とは分けて考える。

例)
try {
 if($value[0] > 5){
  throw new MyException("値が許容値を超えています");
 }
} catch(MyException $ex){
 // 与えられた値が正しくない場合の処理。アプリケーション特有の例外。プログラムは正しく動作している
 echo $ex->getMessage();
} catch(ErrorException $ex){
 // プログラム実行エラー
 // 例えば$valueがarrayでなかった場合Noticeが発生し、これがErrorExceptionに変換されて投げられてくる
 // これはシステムの不具合であり、そこにバグがあることがわかる。
 // この例外のエラーメッセージはシステムのバグの実態なので、ユーザーに知らせるべきではない
 echo "システムエラーです";
} catch(Exception $ex){
 // 予期しない例外。ここで例外がキャッチされた場合も、やはりバグがあることがわかる。
 // この例外のエラーメッセージはシステムのバグの実態なので、ユーザーに知らせるべきではない
 echo "システムエラーです";
}

155 名前:デフォルトの名無しさん (ワッチョイ 138c-4BG+) [2016/11/26(土) 11:56:58.06 ID:pWqEBz120.net]
>>152
そういう風に使うものだったんですね。
よくわかりました、ありがとうございました

156 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/26(土) 12:20:35.58 ID:ooyaFqF30.net]
phpで例外設計とか臍茶ですわ

157 名前:デフォルトの名無しさん (ワッチョイ 0bd6-rApL) mailto:sage [2016/11/26(土) 12:24:34.56 ID:zRxKnjZm0.net]
×「例」のようにexception_error_handler()を設定して例外に変換することで

正しくは、
○set_error_handler()を設定して例外に変換することで

158 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/26(土) 12:26:42.24 ID:ooyaFqF30.net]
タイポもマトモに直せない池沼プェチプァ〜
哀れな言語ですこと

159 名前:デフォルトの名無しさん (ワッチョイ 138c-4BG+) [2016/11/26(土) 13:07:28.70 ID:pWqEBz120.net]
>>154
参考にしたいのでお聞きしたいのですが、例外設計に優れてる言語ってなんでしょうか?

160 名前:デフォルトの名無しさん (ワッチョイ b730-lM3r) mailto:sage [2016/11/26(土) 14:35:52.46 ID:cFmpK3Dq0.net]
その他の例外を一括でcatchするのが楽だといいなー



161 名前:デフォルトの名無しさん (ワッチョイ 277b-I39F) mailto:sage [2016/11/26(土) 14:41:18.13 ID:mx1WdaLu0.net]
Java, C# でも、アプリでキャッチして、アプリが処理できるものは、
Exceptionの派生クラスを、自分で定義する

Errorは、アプリ側では、どうにもならないもの。
キャッチしても、アプリ側で回復不能な、実行環境のエラーだから、キャッチしない

162 名前:デフォルトの名無しさん (ワッチョイ 0bd6-rApL) mailto:sage [2016/11/26(土) 15:13:14.88 ID:zRxKnjZm0.net]
>キャッチしても、アプリ側で回復不能な、実行環境のエラーだから、キャッチしない

は?

163 名前:デフォルトの名無しさん (ワッチョイ 2bc9-lP3M) mailto:sage [2016/11/26(土) 15:23:28.21 ID:M9z8QwC90.net]
>>146
相手にされないというか、ここの人たちは知らないのに解決しようとしている姿勢はよいよね。
でも的はずれ。検索してわかることばかり。シンプルに聞いても変化球しかなげられない。
>>140 結局、知らないんだよね。見透かされちゃうからそういう物言いをしたのだけれど。
環境なぞ、最初の質問で当りをつけられなきゃどうしようもないよ。

>>160
アプリがハングするようなものはキャッチできないってことすら逐次いわなわからんの?

ところで制作環境って何かおかしい?いやこれはマジで。

164 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/26(土) 15:26:57.22 ID:ooyaFqF30.net]
>>161
いいから早くphpでウンコの制作でもしてこいよ無能w

165 名前:デフォルトの名無しさん (ワッチョイ 138c-e4bX) [2016/11/26(土) 15:31:52.87 ID:pWqEBz120.net]
>>162
>>157をお願いします

166 名前:161 (ワッチョイ 2bc9-lP3M) mailto:sage [2016/11/26(土) 15:36:29.62 ID:M9z8QwC90.net]
>>160
ごめん、これはちょっと言い過ぎた。反省する。
>>163
過去発言を見ても、相手にしないほうがいいですよ。
現実世界でいろいろと溜まることがあるんだと思います。

167 名前:デフォルトの名無しさん (ワッチョイ 0bd6-rApL) mailto:sage [2016/11/26(土) 15:46:32.01 ID:zRxKnjZm0.net]
>アプリがハングするようなものはキャッチできないってことすら逐次いわなわからんの?

なにいってんのこいつ?
それがなんで、キャッチできるものもしない理由になるんだよ、ノータリン。


おいID:ooyaFqF30、
このバカ>>159 >>161は罵ってもいいぞ。お前に任せる。

168 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/26(土) 17:11:30.18 ID:ooyaFqF30.net]
だからペチピーなんて制作してる糞池沼に例外なんて高度なもの扱えるわけないんだよ
return "1"でもやってろゴミw

169 名前:161 (ワッチョイ 2bc9-lP3M) mailto:sage [2016/11/26(土) 17:53:20.81 ID:M9z8QwC90.net]
>>163
なっ話をすすめる知識がないだろ。

170 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/26(土) 18:00:57.30 ID:ooyaFqF30.net]
さて、どうかひとつローカルの制作環境で糞ペチプ〜を制作して下されやwwwww



171 名前:デフォルトの名無しさん (ワッチョイ 0bd6-rApL) mailto:sage [2016/11/26(土) 18:25:27.56 ID:zRxKnjZm0.net]
>>167
おめーは、Exceptionを正しく使う知識がねーだろーが。

172 名前:デフォルトの名無しさん (ワッチョイ 138c-zoOx) [2016/11/26(土) 19:19:41.09 ID:pWqEBz120.net]
>>164,167
なるほど。
この先いいことがあると良いですね。

173 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/26(土) 19:20:05.85 ID:ooyaFqF30.net]
ドッカン
          ドッカン
                  ☆ゴガギーン
        .______
.        |    |    |
     ∩∩  |     |    |  ∩∩
     | | | |  |    |    |  | | | |  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (  ,,)  |     |    | (・x・ )<おらっ!制作環境から出てこい、 ID:M9z8QwC90!!
   /  つ━━"....ロ|ロ   . | l   |U \逃げるなゴミ
 〜(  /   |    |    |⊂_ |〜  \___________
   し'∪  └──┴──┘  ∪

174 名前:デフォルトの名無しさん (ワッチョイ 138c-YSSY) [2016/11/26(土) 20:38:28.26 ID:pWqEBz120.net]
echo '23A'+1;
これはなぜ24になるのでしょうか?

175 名前:デフォルトの名無しさん (ワッチョイ 0bd6-p/G0) mailto:sage [2016/11/26(土) 20:49:06.90 ID:zRxKnjZm0.net]
そんなどうでも良いこと知る前に学ぶべきことが山ほどあるだろ。
そんな演算の成り行きが問題になってる時点で設計間違ってるって気付けよ。

176 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/26(土) 20:49:31.74 ID:ooyaFqF30.net]
>>172
ゲリ糞プェチピだもの
そういう頭のイカレたお作法と永遠にダンスするんだよ
プェチプァは

177 名前:デフォルトの名無しさん (ワッチョイ 138c-xMZc) [2016/11/26(土) 20:51:07.20 ID:pWqEBz120.net]
>>173
確かにそうですね、了解です
今phpマニュアルを端から読んでいるところです

178 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/26(土) 20:52:42.50 ID:ooyaFqF30.net]
プェチプァ〜は人生をマニュアル(ドブ)に捨てるのが生きがいらしい


哀れだよな

179 名前:デフォルトの名無しさん (ワッチョイ 87c9-lM3r) [2016/11/27(日) 13:35:28.67 ID:wcKeEZPe0.net]
復元可能な暗号化で一番お手軽な方法ってなに?

180 名前:デフォルトの名無しさん (ワッチョイ b730-lM3r) mailto:sage [2016/11/27(日) 13:47:56.16 ID:TeOgRo4V0.net]
各バイト(文字)に特定の値を足す



181 名前:デフォルトの名無しさん (ワッチョイ 0bd6-rApL) mailto:sage [2016/11/27(日) 14:10:06.08 ID:PAFp/IGH0.net]
お手軽な暗号化を求めたらお手軽な復号が可能になるってことがわからないサルだらけなのです。

182 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/27(日) 14:13:30.95 ID:iWuqA4Km0.net]
phpコード自体が難読化された暗号だからセーフ

183 名前:デフォルトの名無しさん (ワッチョイ 138c-e4bX) [2016/11/27(日) 16:07:52.18 ID:/eV3H2FX0.net]
>>177
お手軽に合致するか知らないけど
php.net/manual/ja/function.password-hash.php
php.net/manual/ja/function.password-verify.php

184 名前:デフォルトの名無しさん (ワッチョイ 87c9-lM3r) mailto:sage [2016/11/27(日) 16:24:18.76 ID:wcKeEZPe0.net]
>>181
申し訳ありませんが
復号不可能な方法は
NGです

185 名前:デフォルトの名無しさん (ワッチョイ 138c-e4bX) [2016/11/27(日) 16:32:14.26 ID:/eV3H2FX0.net]
>>182
rot13?
php.net/manual/ja/function.str-rot13.php

186 名前:デフォルトの名無しさん (ワッチョイ 0bd6-rApL) mailto:sage [2016/11/27(日) 17:40:01.55 ID:PAFp/IGH0.net]
>>183

179 名前:デフォルトの名無しさん (ワッチョイ 0bd6-rApL) :2016/11/27(日) 14:10:06.08 ID:PAFp/IGH0
お手軽な暗号化を求めたらお手軽な復号が可能になるってことがわからないサルだらけなのです。

187 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/27(日) 17:48:53.99 ID:iWuqA4Km0.net]
>>184
底辺土方専用言語のPHP相手に何言ってだ

188 名前:デフォルトの名無しさん (ワッチョイ 0bd6-rApL) mailto:sage [2016/11/27(日) 18:04:03.92 ID:PAFp/IGH0.net]
>>185

何言ってるのかわからないのは お ま え だ け

189 名前:デフォルトの名無しさん (ワッチョイ 87c9-lM3r) mailto:sage [2016/11/27(日) 18:26:09.15 ID:wcKeEZPe0.net]
>>183
なるほどこういうのもあるのか

これは復号がお手軽で良さそうだけど、暗号化状態からの類推が
ちょっと簡単すぎな気もするな

190 名前:デフォルトの名無しさん (ワッチョイ 6316-lM3r) mailto:sage [2016/11/27(日) 18:32:15.04 ID:5j5eipzu0.net]
ランダム値を足していく



191 名前:デフォルトの名無しさん (ワッチョイ 138c-YSSY) [2016/11/27(日) 18:43:23.48 ID:/eV3H2FX0.net]
>>187
base64。これも知ってる人が見れば一発で分かる
ゲームの演出にでも使うんならいいけど
php.net/manual/ja/function.base64-encode.php

192 名前:デフォルトの名無しさん (ワッチョイ b730-lM3r) mailto:sage [2016/11/27(日) 19:31:13.07 ID:TeOgRo4V0.net]
お手軽な暗号化っていうから、
単に難読化とか、ファイルをそのまま開けないレベルの話だと思ったんだけど違うん?

193 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/27(日) 21:03:09.33 ID:iWuqA4Km0.net]
phpの時点で難読だから安心汁w

194 名前:デフォルトの名無しさん (ワッチョイ 138c-YSSY) mailto:sage [2016/11/27(日) 21:24:14.60 ID:/eV3H2FX0.net]
>>172
解決しました

文字列の数値への変換
php.net/manual/ja/language.types.string.php#language.types.string.conversion

195 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/27(日) 21:31:39.10 ID:iWuqA4Km0.net]
>>192
ペチパーは、そういう一挙手一投足に永遠苦しみ続けるんやで

196 名前:デフォルトの名無しさん (ワッチョイ 138c-YSSY) mailto:sage [2016/11/27(日) 21:38:32.25 ID:/eV3H2FX0.net]
>>93
解決しました

マジックメソッドはインスタンスでないと呼べないことが原因でした

197 名前:デフォルトの名無しさん (ワッチョイ 138c-YSSY) mailto:sage [2016/11/27(日) 21:56:20.11 ID:/eV3H2FX0.net]
assertって例外みたいな分岐ということはわかったのですが、assertって使いますか?

198 名前:デフォルトの名無しさん (ワッチョイ 0bd6-rApL) mailto:sage [2016/11/27(日) 22:37:45.33 ID:PAFp/IGH0.net]
>>195
今存在を知った。

マニュアルを呼んでみると分かるが、PHPUnit等を利用していれば全く必要ないだろう。

199 名前:デフォルトの名無しさん (ワッチョイ 138c-LVz2) mailto:sage [2016/11/27(日) 22:39:14.64 ID:/eV3H2FX0.net]
>>196
なるほど。ありがとうございます

200 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/28(月) 01:32:53.97 ID:8eLi/pVq0.net]
ぺぺぺ

ペチプァがウニットテストwwwwwwwwwwwww



201 名前:デフォルトの名無しさん (ワッチョイ 0b56-znN9) mailto:sage [2016/11/28(月) 19:23:11.99 ID:goD476AK0.net]
またペチパーペチパー嬉しそうに言ってる猿が湧いてるのか
>>87>>157あたりに具体的な回答できないところを見ると
PHP以外の言語全くできない人なんだろうが…やれやれ

ケチをつけたり文句いうのだけは一丁前で
自ら生産性のある事は何一つできない猿は猿山で1人で吠えてろ

202 名前:デフォルトの名無しさん (ワッチョイ 0b56-znN9) mailto:sage [2016/11/28(月) 19:36:39.34 ID:goD476AK0.net]
>>187
PHP5.3からしか使えないけど
openssl_encrypt()なんかは手軽さと強固さを兼ね備えてると思うけどどうだろう?

レスに上がってたstrrot13()やbase64()は暗号化とはとても呼べないものだけど
本当に簡易的なものでいいなら
strrot13(strrev(base64($str)))みたいに文字列を並び替える系の標準関数をいくつか組み合わせて
自作してしまうのもアリかもね

203 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/28(月) 21:48:27.70 ID:8eLi/pVq0.net]
>>200
草w

204 名前:デフォルトの名無しさん (ワッチョイ 6f2c-lM3r) mailto:sage [2016/11/29(火) 00:00:56.02 ID:Xo8/l89i0.net]
そのうちユニットテストについて知りたくてユニットテスト系のレスが増えるんだろうなぁ…

205 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/29(火) 00:12:08.67 ID:rYidf/CN0.net]
ペチパーの神、テワダさんにでも頼めよ

206 名前:デフォルトの名無しさん (ワッチョイ 87c9-lM3r) mailto:sage [2016/11/29(火) 10:43:42.59 ID:G1PQ5qe80.net]
>>200
ありがとう
これがちょうどいい感じなのでこれでいきます

207 名前:デフォルトの名無しさん (ワッチョイ d185-yQe2) mailto:sage [2016/12/01(木) 21:29:51.50 ID:XF2FB4o/0.net]
なぜPHPなどという糞言語を選んでしまったのか?

哀れだ

208 名前:デフォルトの名無しさん (ワッチョイ 83f8-NTgB) mailto:sage [2016/12/02(金) 00:11:33.99 ID:cTMcx3vL0.net]
↑こういう馬鹿たまに来るけど
適材適所で使ってるだけで選んでるわけじゃないからな
ここはド素人向けのスレではあるけども
そんなこともわからんド素人にすら届かないミジンコ向けのスレはこの板には存在しないから
他あたって荒らしてくれな

209 名前:デフォルトの名無しさん (ワッチョイ d185-yQe2) mailto:sage [2016/12/02(金) 00:39:49.39 ID:+/BurYJT0.net]
適材適所(知恵遅れ並感)

ぼくちんプェピプェでウンコード量産するしか能のない池沼どぇ〜す
なんて公言しちゃって
恥ずかしくないん?

210 名前:デフォルトの名無しさん (ワッチョイ 1030-NTgB) mailto:sage [2016/12/02(金) 01:32:54.72 ID:Zj5y44Q+0.net]
プログラマが言語を選ぶのではない
顧客が言語を選ぶのだ



211 名前:デフォルトの名無しさん (ワッチョイ d185-yQe2) mailto:sage [2016/12/02(金) 08:34:12.06 ID:+/BurYJT0.net]
顧客にこびへつらってケツの穴舐めて
「俺は適材適所でPHPを使ってる(キリッ」
なんて自分を納得させないと生きていけない奴隷ペチプァ

カアイソウ

212 名前:デフォルトの名無しさん (ワッチョイ 3e01-VrYX) mailto:sage [2016/12/02(金) 18:09:31.20 ID:cbvf3DNb0.net]
ここもWebProg板もPHPについてまともに質問できる場所がねーな

213 名前:デフォルトの名無しさん (ワッチョイ d185-yQe2) mailto:sage [2016/12/02(金) 21:18:34.38 ID:+/BurYJT0.net]
ペチプェ自体まともじゃないからしゃーない

214 名前:デフォルトの名無しさん (ワッチョイ 1030-H1ya) mailto:sage [2016/12/02(金) 21:24:57.33 ID:3AEkxakR0.net]
オチンポ騎士団に入りたいです!

215 名前:デフォルトの名無しさん (ワッチョイ 1030-H1ya) mailto:sage [2016/12/02(金) 21:25:14.69 ID:3AEkxakR0.net]
すみませんスレ間違えました

216 名前:デフォルトの名無しさん (ワッチョイ d185-yQe2) mailto:sage [2016/12/02(金) 21:56:07.53 ID:+/BurYJT0.net]
212 名前:デフォルトの名無しさん (ワッチョイ 1030-H1ya)[sage] 投稿日:2016/12/02(金) 21:24:57.33 ID:3AEkxakR0 [1/2]
オチンポ騎士団に入りたいです!

213 名前:デフォルトの名無しさん (ワッチョイ 1030-H1ya)[sage] 投稿日:2016/12/02(金) 21:25:14.69 ID:3AEkxakR0 [2/2]
すみませんスレ間違えました



これがペチパーだ

217 名前:デフォルトの名無しさん (ワッチョイ f1d6-BMT5) mailto:sage [2016/12/02(金) 22:16:14.16 ID:eDwctYwK0.net]
>>214
お前もその一味だってこと、いい加減に気付こうな。

218 名前:デフォルトの名無しさん (ワッチョイ 2b8c-58uJ) mailto:sage [2016/12/02(金) 22:35:08.99 ID:cJB1i/Y+0.net]
DB接続で質問です

DBにSELECTやUPDATEする時は、
PDOはprepare()、PDO::bindValue()
PDOStatementが返ってきたらPDOStatement::execute()で良いでしょうか?
PDO::query()などは使わない方が良いですよね?

219 名前:デフォルトの名無しさん (ワッチョイ 2b8c-o9v3) mailto:sage [2016/12/02(金) 22:39:13.41 ID:cJB1i/Y+0.net]
DB接続でもう一つ質問です

トランザクションについて教えてください
UPDATEなどのクエリを複数一度に処理するという仕組みは何となく分かるのですが
PDO::TransactionやPDO::commit()はどういう時に使いますか?

220 名前:デフォルトの名無しさん (ワッチョイ f1d6-BMT5) mailto:sage [2016/12/02(金) 23:14:32.24 ID:eDwctYwK0.net]
PDO::beginTransaction を実行すると、トランザクションがスタートします。
これは、
PDO::commitを実行することでDBの変更処理が確定します。
もし、不都合が生じた場合、
PDO::rollBackを行えばPDO::beginTransactionが開始されてから行った変更要求は全てキャンセルされ
PDO::beginTransactionの前の状態に戻ることが保証されます。

これは、atomicな処理が求められる場合において、とても重要です。

ただし、PDO::rollBackがすべての要求を撤回できるわけではなく、
それは使用するデータベースの仕様に依存します。

例えば、MySQLではテーブルの作成や削除といった、DDLに類するSQLについて
ロールバックが行えないことを留意する必要があります。

とはいえ、トランザクション機能を有する大抵のデータベースにおいて、
DMLについてはふつうにロールバックできると思って構いません。



221 名前:デフォルトの名無しさん (ワッチョイ f1d6-BMT5) mailto:sage [2016/12/02(金) 23:23:17.30 ID:eDwctYwK0.net]
例を示しましょう。

たとえば、ECサイトにて注文を行う場合を想定します。

あるユーザーの一つの注文においては、Orderテーブルにレコードを1つ追加し、
注文内容について、OrderItemsテーブルに注文種類ごとにレコードを1つ追加するとします。

もし仮にOrderテーブルに注文情報を追加した後、
OrderItemsテーブルのレコード追加で問題が発生したとします。

今場合、OrderItemsテーブルの登録のみをキャンセルすると、
予期しないオーダーが発生してしまいます。

こうした場合、最初にトランザクションを発行しておいて、
問題が発生した場合に直ちにPDO::rollBackを行うことで、
注文処理の全てをキャンセルすることが可能になるわけです。

もし、全ての処理が完了した場合は晴れてPDO::commitを実行することで、
DBの変更処理を確定させます。

こうした処理を、atomic(アトミック:原子性)と呼びます。
この意味は、「一連のものとして定義された処理がすべて完了するか、一つも実行されないかのいずれか状態になること」です。

222 名前:デフォルトの名無しさん (ワッチョイ 2b8c-o9v3) mailto:sage [2016/12/02(金) 23:30:47.37 ID:cJB1i/Y+0.net]
>>218-219
なるほど、イメージ出来ました
文章もとても読みやすくて感動してしまいました。大変わかりやすかったです、ありがとうございます。

223 名前:デフォルトの名無しさん (ワッチョイ f1d6-BMT5) mailto:sage [2016/12/02(金) 23:35:26.44 ID:eDwctYwK0.net]
どういたしまして。サルとは違うのです。

224 名前:デフォルトの名無しさん (オイコラミネオ MM54-wK09) mailto:sage [2016/12/02(金) 23:45:09.50 ID:v09MugEBM.net]
どうせコピペだろうと思ってググったら見当たらないでござるwww

225 名前:デフォルトの名無しさん (ワッチョイ f1d6-eVYr) mailto:sage [2016/12/02(金) 23:49:34.38 ID:eDwctYwK0.net]
あたりめーだろ、サルw
職人が一文字一文字、心を込めて打ち込んでんだよw

226 名前:デフォルトの名無しさん (ワッチョイ 1030-H1ya) mailto:sage [2016/12/03(土) 00:00:35.85 ID:ovpKhMnk0.net]
マジレスですまんがECシステムの前提として注文の編集は過去注文のキャンセル→新規注文だろ

227 名前:デフォルトの名無しさん (ワッチョイ f1d6-eVYr) mailto:sage [2016/12/03(土) 00:10:19.23 ID:ZI8uIr2i0.net]
マジレスってことは本気で言ってんのか、ゴミクズだな。

履歴残すのは注文が確定した場合。
注文そのものに問題があった場合はエラーログだ。

PHPerって、こんなにレベル低いのかよ、マジ引くわ。

>>214 またお前の出番だ、忙しくてすまんな。

228 名前:デフォルトの名無しさん (ワッチョイ 8342-/mAi) mailto:sage [2016/12/03(土) 00:13:09.12 ID:3jlcDMZy0.net]
口座間の振替を例にすれば良かったのに

229 名前:デフォルトの名無しさん (ワッチョイ f1d6-eVYr) mailto:sage [2016/12/03(土) 00:13:10.30 ID:ZI8uIr2i0.net]
受注エラーあるたびに赤伝と青伝発行してるのかよw
ゴミクズここに極まれりだなw
どんな会計すんだろうなw

230 名前:デフォルトの名無しさん (ワッチョイ f1d6-eVYr) mailto:sage [2016/12/03(土) 00:14:06.47 ID:ZI8uIr2i0.net]
>>226
おまえ、本当のノータリン♪



231 名前:デフォルトの名無しさん (ワッチョイ f1d6-eVYr) mailto:sage [2016/12/03(土) 00:15:35.93 ID:ZI8uIr2i0.net]
>>226
そう思うならおまえが書けば?
誰も読まないけどなw

232 名前:デフォルトの名無しさん (ワッチョイ f1d6-eVYr) mailto:sage [2016/12/03(土) 00:19:00.98 ID:ZI8uIr2i0.net]
そら、PHPerにシステム作らせるなって話にもなるわわ
ホント、迷惑極まりないな。

233 名前:デフォルトの名無しさん (ワッチョイ 1030-H1ya) mailto:sage [2016/12/03(土) 00:20:36.24 ID:ovpKhMnk0.net]
さーせん
レベルに着いていけませんわwww

234 名前:デフォルトの名無しさん (ワッチョイ f1d6-eVYr) mailto:sage [2016/12/03(土) 00:22:21.53 ID:ZI8uIr2i0.net]
多分このバカは、話が一個もみえていないし、トランザクションの意味も分かっていない
でも、話に首突っ込んじゃう、ビクンビクン



224 : デフォルトの名無しさん (ワッチョイ 1030-H1ya)2016/12/03(土) 00:00:35.85 ID:ovpKhMnk0
マジレスですまんがECシステムの前提として注文の編集は過去注文のキャンセル→新規注文だろ

235 名前:デフォルトの名無しさん (ワッチョイ f1d6-eVYr) mailto:sage [2016/12/03(土) 00:23:08.02 ID:ZI8uIr2i0.net]
ついてこれねーならだまってよ、クソぺちぱー

236 名前:デフォルトの名無しさん (ワッチョイ f1d6-eVYr) mailto:sage [2016/12/03(土) 00:27:35.93 ID:ZI8uIr2i0.net]
さーせんとか、能無しがてめーの体裁繕うために使ってんじゃねーよ、クソ蟹味噌

237 名前:デフォルトの名無しさん (ワッチョイ f1d6-eVYr) mailto:sage [2016/12/03(土) 00:30:04.88 ID:ZI8uIr2i0.net]
んで、口座間の振り替えじゃないとトランザクションが理解できない知恵遅くんはどうしたん?

238 名前:デフォルトの名無しさん (ワッチョイ 753c-Nkiq) mailto:sage [2016/12/03(土) 00:32:55.51 ID:2r0RT9ig0.net]
IDが変わっていきなり喧嘩を始めるPHPer

239 名前:デフォルトの名無しさん (ワッチョイ f1d6-eVYr) mailto:sage [2016/12/03(土) 00:38:26.53 ID:ZI8uIr2i0.net]
喧嘩になってると思うなら、おまえの中ではそうなんだろう

240 名前:デフォルトの名無しさん (ワッチョイ f1d6-eVYr) mailto:sage [2016/12/03(土) 00:40:54.32 ID:ZI8uIr2i0.net]
>>236

おまえ、クソをぺちぱー言ってる分にはいいけど、俺に舐めた口きいてきたらおまえも叩くよ



241 名前:デフォルトの名無しさん (ワッチョイ d185-yQe2) mailto:sage [2016/12/03(土) 09:52:33.04 ID:Y9I90W1E0.net]
>>230
ついにPHPoorの真実のアホーナ姿に気付いてしまったようだね

242 名前:デフォルトの名無しさん (ワッチョイ 462c-NTgB) mailto:sage [2016/12/03(土) 14:32:44.96 ID:pjHuRuWW0.net]
>>231
新規注文の話なので、注文編集の話とは関係ないよってだけ

243 名前:デフォルトの名無しさん (ワッチョイ f1d6-BMT5) mailto:sage [2016/12/03(土) 16:50:01.30 ID:ZI8uIr2i0.net]
編集でもトランザクションは関係

244 名前:あるけどな。
さーーーーーーーーーる
[]
[ここ壊れてます]

245 名前:デフォルトの名無しさん (ワッチョイ 462c-NTgB) mailto:sage [2016/12/03(土) 17:05:11.66 ID:pjHuRuWW0.net]
もちろんそうだね。俺もトランザクション関係ないとは書いてない。
彼も注文の編集でキャンセルと追加という処理を行うのであれば、それを1トランザクションにすべきと思っているかと。

あなたにレスするつもりはなかったけど、DDLのロールバックに触れるならシーケンスについても触れたら?と思う。
アトミックについては片手落ち。分離レベルに依存する話だからね。
それ以外は大体いいんじゃないの。

ただ、質問に対する回答としてはTMIと言わざるを得ない。
そういう意味で、一般的な例である送金処理のリンクを貼っておけば終わっていた話なのではないかと思う。

246 名前:デフォルトの名無しさん (ワッチョイ f1d6-BMT5) mailto:sage [2016/12/03(土) 17:09:21.92 ID:ZI8uIr2i0.net]
適当にそれっぽい言葉を並べておけば頭が良さそうに見えると思ってるばーーーーーーーーか

模範解答書いてみろよ、ID:pjHuRuWW0
どんな長文レスに成るか考えろ、サル

>そういう意味で、一般的な例である送金処理のリンクを貼っておけば終わっていた話なのではないかと思う。

はぁ? 何が一般的なの、お前の中の話なんか、しらねーよ。


>質問に対する回答としてはTMIと言わざるを得ない。

なんだ、これw さーーーーーーーーーーーるw


こういうバカがいるからPHPerはゴミだって言われるんだよ。

247 名前:デフォルトの名無しさん (ワッチョイ 462c-NTgB) mailto:sage [2016/12/03(土) 17:10:47.41 ID:pjHuRuWW0.net]
え…
サルじゃなければ、ああそうだねって思える内容だと思ったんだが、分からなかったならごめんね。

248 名前:デフォルトの名無しさん (ワッチョイ f1d6-BMT5) [2016/12/03(土) 17:10:53.44 ID:ZI8uIr2i0.net]
ノータリンID:pjHuRuWW0の模範解答期待age!

249 名前:デフォルトの名無しさん (ワッチョイ f1d6-BMT5) mailto:sage [2016/12/03(土) 17:11:36.85 ID:ZI8uIr2i0.net]
>>244

ごめんとか言わなくていいから早く模範解答書けよ、ゴミw

250 名前:デフォルトの名無しさん (ワッチョイ f1d6-BMT5) mailto:sage [2016/12/03(土) 18:10:43.38 ID:ZI8uIr2i0.net]
あれあれー? おかしいぞー? 1時間経つぞぉーーーー?www

模範解答、どうしたんだぁーーーー?www



251 名前:デフォルトの名無しさん (ワッチョイ f1d6-BMT5) mailto:sage [2016/12/03(土) 19:11:06.15 ID:ZI8uIr2i0.net]
あれあれー? おかしいぞー? 2時間経つぞぉーーーー?www

243 : デフォルトの名無しさん (ワッチョイ f1d6-BMT5)2016/12/03(土) 17:09:21.92 ID:ZI8uIr2i0
244 : デフォルトの名無しさん (ワッチョイ 462c-NTgB)2016/12/03(土) 17:10:47.41 ID:pjHuRuWW0

わずか1分で能書きだけたれたやつが、2時間たってもマトモな答えができないぞぉーーー???

模範解答、どうしたんだぁーーーー?www

252 名前:デフォルトの名無しさん (ワッチョイ d185-yQe2) mailto:sage [2016/12/03(土) 19:38:23.62 ID:Y9I90W1E0.net]
ゲリピーペチピー頭はパー
思考停止の無能のくせに
「俺はサービスにコミットすることだけを考えてる(キッ」
なんて本気で思い込んでる池沼プェチプァ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<340KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef