[過去ログ] 【PHP】下らねぇ質問はここに書き込みやがれ 14 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
2(2): (スッップ Sdbf-ZAtA) 2022/09/23(金)12:52 ID:hnZdjJ3nd(1) AAS
1乙
3: (ワッチョイ 2701-tX/F) 2022/09/24(土)13:08 ID:BHAYvVt70(1) AAS
>>1
8.2
4: (ワッチョイ 1251-w3Il) 2022/09/28(水)15:20 ID:kZGixsXA0(1/2) AAS
try catch構文がなぜか機能しない(´・ω・`)
単純なゼロ除算をキャッチさせてみるだけでも、catch構文のほうに行かず停止してしまう。
try {
$num = 5/0;
} catch ( Exception $ex ) {
//例外時の処理
}
JavaやC#だったら、こういうふうに書けばどんな種類の例外でも拾ってくれますが、PHPの場合ちょっと違うのですか?
5(1): (ワッチョイ 527c-tX/F) 2022/09/28(水)15:46 ID:Jk2txA1W0(1) AAS
\Exceptionにしたら動くかも?
6: (ワッチョイ 1251-w3Il) 2022/09/28(水)15:59 ID:kZGixsXA0(2/2) AAS
>>5
ありがとうございます。動きました!
PHPだと例外の型の区別方法がよく分からないです。デバッグしてみると全部Exception型?
Javaとかだったらcatch構文で、例外オブジェクトの型の違いでこうやって分けられたのですが。
catch(HogeException) {
//HogeExceptionの例外処理
} catch(FugaException) {
//FugaExceptionの例外処理
}
PHPの場合どうやって分岐しますか?
省1
7(1): (ワッチョイ c761-WvKv) 2022/09/28(水)18:16 ID:48qufCUu0(1) AAS
phpでも複数catch出来る
ゼロ除算を他の例外と分けたいならDivisionByZeroErrorやArithmeticErrorあたり
8(1): (ワッチョイ 96bb-nd6Q) 2022/09/28(水)18:34 ID:o0cHd3Tq0(1) AAS
公式覗いてみた?
一応動くやつ書いてみた
class MyException extends Exception { }
class MyOtherException extends Exception { }
class Test {
public function testing() {
try {
// throw new MyException();
throw new MyOtherException();
} catch (MyException $e) {
省8
9(1): (ワッチョイ 1251-w3Il) 2022/09/29(木)09:00 ID:+9krd1sq0(1/2) AAS
>>7-8
ありがとうございます。それができることは分かりました。
とりあえず\Exceptionで一緒くたにcatchしてみてデバッグし、出てきた例外の「正確な型名」の調べ方が分からないです。
「PHP 例外 型 種類」のようにぐぐっても、ありがなゼロ除算の例外の型名すら、いま教えてもらうまでわからなかったです。
JavaならArithmeticException、C#ならDivideByZeroException、といった型名はちょっと調べればわかりますが、PHPの場合はその資料が無いようで。
10(1): (ワッチョイ 96bb-nd6Q) 2022/09/29(木)09:08 ID:aAavqPwL0(1/2) AAS
>>9
何度同じこと言わせるの?
公式読めよ
外部リンク[php]:www.php.net
11(1): (ワッチョイ 1251-w3Il) 2022/09/29(木)10:11 ID:+9krd1sq0(2/2) AAS
>>10
ありがとうございます。その資料が欲しかったです。
ぐぐって検索するだけで、公式を丁寧にたどることをしなかったのが悪かったです。
12: (ワッチョイ c77b-dQvS) 2022/09/29(木)12:31 ID:cPkvua8F0(1) AAS
>>11
PHPは公式が素晴らしくよく出来てるから、新参素人がQiita等にイキって書く意味がなく、ググッてもヒットしない。
だから、君のレベルなら、まず公式を全部頭から一通り読むのが一番早いよ。(下の例とその下のNotesも含めて)
数日かかるかもしれないが、急がば回れが完全に成立する。
ちなC#もほぼ公式しか要らないほどよく出来てはいるが、あれはリファレンスであって、頭から読む読み物としては成立してない。
これはJS(MDN)もで、MDNは地味に読み物ページも充実しつつあるが、一部逆にリファレンスとしては使いにくくなってる面もある。
Javaの状況は知らんが、そもそも出所不明のコード例をググる必要がある世界観が異常だと気づくべき。
この点はPHPが完全に正しい。
13: (ワッチョイ dee7-tX/F) 2022/09/29(木)20:16 ID:E6cxSExy0(1) AAS
実機環境がPHP7.3のプロジェクトのおしごとがあるんだけど
WindowsのXAMPPは 7.4 と 8.1 しかない
ちょいとPHPUNITを動かす用のローカルのPHPは 7..4 でもいいよね?
14: (ワッチョイ 527c-tX/F) 2022/09/29(木)20:53 ID:D9meFc200(1) AAS
vagrant+virtualboxなりdockerなり仮想環境でも作った方が良さそうだけどね
15: (ワッチョイ 96bb-nd6Q) 2022/09/29(木)21:14 ID:aAavqPwL0(2/2) AAS
探せよ...
外部リンク:sourceforge.net
16(2): (ワッチョイ d697-uxQy) 2022/09/30(金)16:30 ID:anKKL5Vh0(1/6) AAS
入力された値が正しいかどうかをデバックしているのですが、
左辺と右辺の変数の値の評価が期待しているものと違うことを確認しました。
6番目のリストは「1」となることを期待していますが、
そうはなりませんでした。
なぜ、そうなってしまうか、想定できそうな原因ありますでしょうか。
ちなみにphpのバージョンは7.3になります。
-----
phpコード
<pre>
print "<ul>";
省17
17: (ワッチョイ dee7-tX/F) 2022/09/30(金)16:58 ID:tV+EdovX0(1/2) AAS
>>16
多分スペースとか改行とか入ってんかな
"---$pw---"
みたいに前後に目印入れて出してみたら
18(1): (ワッチョイ d697-uxQy) 2022/09/30(金)17:15 ID:anKKL5Vh0(2/6) AAS
ありがとうございます。
こういうことでしょうか?
実行すると以下のようになります。
----
phpコード
print "<ul>";
print "<li>".$id;
print "<li>".$_POST['login_id'];
print "<li>".($id===$_POST['login_id']);
print "<li>"."---".$pw."---";
省15
19: (ワッチョイ c77b-dQvS) 2022/09/30(金)17:18 ID:3aBoBWM+0(1/3) AAS
>>16
宿題は自分でやれ
20: (ワッチョイ dee7-tX/F) 2022/09/30(金)17:22 ID:tV+EdovX0(2/2) AAS
>>18
POST側も確認しなきゃ意味ないだろ
21(1): (ワッチョイ 527c-tX/F) 2022/09/30(金)17:22 ID:NBzDpu1o0(1/2) AAS
bin2hex($pw)
と
bin2hex($_POST['pass'])
で表示してみたら違いが分かるかも?
上下前次1-新書関写板覧索設栞歴
あと 981 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.013s