web-dev-qa-db-ja.com

メッセージ:警告/エラー

Joomlaの公式CMS 3.4 APIページはJErrorクラスとそのすべてのメソッドを非推奨として分類していますが、特定のコンポーネントなどのサーバー側の検証後にエラーが発生した場合、出力メッセージの代替手段を見つけることができませんでした...これらの非推奨のメソッドを使用するためのものですか、またはこれらの有用なエラー/警告メッセージを表示する他の推奨される方法はありますか?

3
Mg Gm

enqueueMessage を使用して、エラーを表示できます。次に例を示します。

$user = JFactory::getUser();

if ($user->guest)
{
    $msg = 'You must be logged in';
    JFactory::getApplication()->enqueueMessage($msg, 'error');    // red 
    JFactory::getApplication()->enqueueMessage($msg, 'warning');  // yellow
    JFactory::getApplication()->enqueueMessage($msg, 'notice');   // blue
    JFactory::getApplication()->enqueueMessage($msg, 'message');  // green
}

エラーをログファイルに保存する場合は、次のように JLog を使用できます。

jimport('joomla.log.log');

JLog::add(JText::_('JTEXT_ERROR_MESSAGE'), JLog::WARNING, 'jerror');

PHP例外を使用して、次のようにエラーをキャッチすることもできます。

// Perform a database query or something here
try
{
    // Try to get an object based on the results from the database
    $results = $db->loadObjectList();
}
catch (Exception $e)
{
    // Start crying cause it didn't work
    echo $e->getMessage();
}
7
Lodder