質問

ずっと前に、私は自分のPHPコードで「または死ぬ」を使用していました。特にこのように:

$q = mysql_query('......') or die(mysql_error());

明らかに、それは最近ではかなり恥ずべきことですが、XまたはYの原則はまだ私に話しかけています。だから私はこれを試してみます:

$r = $this->exec($query) or throw new Exception('FAIL');

しかし、その結果、解析エラーが発生します!そのような声明のベストプラクティスは何ですか。見た目もいいです(明らかに!)...

私は好きではありません

if ( !($r = $this->exec($query)) ) throw new ...

また

$r = $this->exec($query)
if ( !$r ) throw new ....

お気に入りはありますか?落胆?ベストプラクティス?スピードはいつもいいです。

役に立ちましたか?

解決

使用した2つの例には何の問題もありませんが、1つのラインにサンドウィッチしたことを除いて。

あなたが何を探しているのか、なぜあなたがIFステートメントで過失を見つけたのかわかりません - それはこの時点でかなり試されていて真実です。とはいえ、あなたはこのようなことをすることができます or オペレーターですが、あなたがいなくなった後にあなたのコードを維持する人は誰でもあなたを呪うでしょう。

function throw_ex($what) {
  throw $what;
}

function fails() {
  return false;
}

$x = fails() or throw_ex(new exception("failed"));

これがどのようにしてol 'ifステートメントで何かを獲得するかわかりません。

他のヒント

問題の事実は、 実際の回復可能なエラーをキャッチするためにステートメントを使用する必要があります. 。特に、通常の操作中にデッドロックがある場合があり、それらを処理する適切な方法は死ぬことはありませんが、単にクエリを再度送信することはありません。

詳細はこちら: http://arjen-lentz.livejournal.com/150464.html

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top