web-dev-qa-db-fra.com

Messages: Avertissements / Erreurs

La page officielle API 3.3 de CMS de Joomla classe la classe JError et toutes ses méthodes comme obsolète, mais je ne pouvais trouver aucune alternative aux messages en sortie, c.-à-d. S'il y avait une erreur après la validation côté serveur pour un composant spécifique, etc. destiné à utiliser ces méthodes obsolètes ou existe-t-il d'autres moyens plus recommandés d'afficher ces messages d'erreur/avertissement utiles?

3
Mg Gm

Vous pouvez utiliser enqueueMessage pour afficher les erreurs, par exemple:

$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
}

Si vous souhaitez stocker les erreurs dans les fichiers journaux, vous pouvez utiliser JLog , comme suit:

jimport('joomla.log.log');

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

Vous pouvez également utiliser PHP des exceptions pour intercepter des erreurs, comme ceci:

// 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