web-dev-qa-db-fra.com

Erreur fatale: impossible d'utiliser la valeur de retour de la méthode dans un contexte d'écriture

J'ai écrit un module pour afficher des images sur mon site, mais l'erreur suivante apparaît sur le site:

Fatal error: Can't use method return value in write context in /public_html/camps/modules/mod_slider/mod_slider.php on line 24

Voici ce que montre la ligne 24:

<?php if (!empty($params->get('image-1')) || !empty($params->get('image-1-alt')) || !empty($params->get('image-1-caption'))) { ?>

Des idées, qu'est-ce qui ne va pas?

Le serveur est en cours d'exécution PHP version 5.3.10-1ubuntu3.15

2
RustyJoomla

Avant PHP 5.5, la fonction empty() ne peut être utilisée que sur des variables, pas pour renvoyer des valeurs, vous devez donc l'approcher comme suit:

$image = $params->get('image-1');
$alt = $params->get('image-1-alt');
$caption = $params->get('image-1-caption');
if (!empty($image) || !empty($alt) || !empty($caption)) {
5
GDP

Juste un petit ajout à la réponse de @ GDP.

Au lieu de vérifier si les variables sont vides ou non, vous pouvez définir leurs valeurs par défaut de la manière suivante:

$image   = $params->get('image-1', 'images/image.png');
$alt     = $params->get('image-1-alt', 'Generic Alt');
$caption = $params->get('image-1-caption', 'Generic Caption');

Ensuite, créez simplement une image générique qui indiquera que rien n’a été défini.

4
Lodder