Le Modèle (/components/com_auto/models/auto.php)

Bonjour,

Pouvez vous m'expliquer en detaille le code suivat: (en gras)

<?php
defined(‘_JEXEC’) or die();
jimport(‘joomla.application.component.model’); class AutoModelAuto
extends JModel {
  function _getAutoQuery( &$options ){
    $db = JFactory::getDBO();
    $id = @$options[‘id’];
    $select = ‘a.*’;
    $from = ‘#__auto AS a’;
    $wheres[] = ‘a.published = 1’;
    $query = "SELECT " . $select .
    "\n FROM " . $from .
    "\n WHERE " . implode( "\n AND ", $wheres );
    return $query;
  }
  function getAutoList( $options=array() ){
    $query = $this->_getAutoQuery( $options );
    $result = $this->_getList( $query );
    return @$result;
  }
}
?>

Pourquoi

&$

@$

a.

a quoi ça sert je ne comprend pas

 

Merci pour votre aide

j'adore le commentaire précédent

alors

&$options : l'argument $options est passé par référence à la fonction (voir le passage d'arguments à une fonction, c'est du PHP)

@$options['id'] : @ est l'opérateur de contrôle d'erreur en PHP, en gros si la donnée n'existe pas, il n'y aurra pas d'erreur.

a. : il s'agit de l'alias sur la table #_auto (voir sql)

Cordialement.

Désolé, mais je peux pas vous

Désolé, mais je peux pas vous aider. Je connais pas le code et j'en comprends rien. Courage. casino en ligne

re a.

le code "a" est un alias pour "#_auto" qui est lui même une reference à jos_auto le nom de la table sur ta base MySQL.
le point "a.published" se traduit par jos_auto.published

pour le @ cherche en php c'est un echappement pour les erreurs.
pour @$nomDeVariable c'est comme $nomDeVariable mais avec l'échappement.

crdlt,

Seb

c'est du PHP. Je m'en

c'est du PHP.
Je m'en souviens plus trop mais je te donne quand meme qlq elements de reponse:

- &$ : Ici l'operateur "&" indique un passage de variables par référence. C'est à dire tu le récupéres depuis son adressage dans le mémoire. Et par principe le "@" devrait être l'opérateur qu'il faut utiliser si tu veux avoir la valeur de cette référence (le &). Quelques notions en C devrait t'aider la dessus.
Je te donne ce lien avant de dire n'importe quoi: http://www.journaldunet.com/developpeur/tutoriel/php/040220-php-referenc...

- a. : Ici l'opérateur "." indique l'accès dans une propriété d'un objet. Mais apparemment ici c'est la colonne d'une table MySQL.

voilà, ce ne sont pas des reponses completes mais juste qlq piste qui peut t'ouvrir la voie

a.nomchamps où a est un alias

a.nomchamps où a est un alias du nom de la table (on aurait pu mettre b z).
Cette lettre est le raccourci du nom de la table identifiée par la commande suivante $from = ‘#__auto AS a’; dans la requête SQL