web-dev-qa-db-ja.com

Joomla 3.5でエラーをキャッチする方法(JErrorの代替)

廃止予定のExceptionを置き換えるためにJErrorメソッドを読みましたが、次の問題を解決できません。

ログインしているユーザー向けのページにユーザーがアクセスしようとした場合に、「このリソースを表示する権限がありません。」というメッセージが表示される代わりに、ユーザーをログインページにリダイレクトするプラグインがあります。

JErrorがまだ(J3より前)にあったときに機能していましたが、コードは次のようになりました。

Error::setErrorHandling(E_ERROR, 'callback', array(
    'plgSystemCustom_Redirects',
    'handleError'
));

スクリプトの残りの部分では、handleError関数を使用しました。

ここでの私の疑問は、(私が読んだ他の例とは異なり)エラーをキャッチする方法です(tryを発行できません)。言い換えれば、非推奨のコードをJoomla 3.5で機能するコードに置き換える方法は?

4
jackJoe

JErrorクラスとJExceptionクラスに代わるものはありません。Joomla開発はこれらのクラスを削除し、代わりにphp例外を使用することを決定しました。 非推奨のJErrorテーブル を見てください。

だから私の意見では、2つの可能な方法があります:

  • プラグインをPHP例外ハンドラーで書き換えます
  • JLog class を使用してプラグインを再考する

このトピックに関する興味深いディスカッションとリソースは次のとおりです。

これがお役に立てば幸いです。

3
Kitase88

Joomla 2.5以降とJoomla 3.5以降では、 https://docs.joomla.org/Auto_redirect_guests_to_login で説明されている方法を使用して機能を管理できるため、プラグインを追加する必要はありません。私はこれを自分のサイトで使用します https://www.loytec.com 、Menu Support> ProductReturn(RMA)を参照してください https://www.loytec.com/support-en/rma Joomla Coreツールのみ。

0
Tom Kuschel