Affichage des articles dont le libellé est PHP. Afficher tous les articles
Affichage des articles dont le libellé est PHP. Afficher tous les articles

jeudi 11 avril 2013

Utiliser plusieurs model dans mvc joomla

le fonctionnement par defaut , c'est que dans la vue on met ca :

$defaultModel = $this->getModel()

pour avoir un autre model , en principe il faut ajouter ce code :

$otherModel = $this->getModel('myothermodel')

et vous aurez une belle erreur :D
il vous faut ajouter ce code dans la methode display() de votre controlleur

$view = $this->getView('myview', 'html') ;
$view->setModel( $this->getModel( 'myothermodel' )) ;


NB :
il faut respecter les regles de nommage des fichiers joomla (en minuscule) sinon ca risque de ne pas marcher

samedi 4 août 2012

Astuces PHP

Raccourcir un if... else...

(instruction 1)?(instruction 2):(instruction 3);
si instruction 1 vrai , il va exectuer instruction 2 sinon 3

Raccourcir un simple bloc echo

<?=$nom_variable?>

Insérer une chaine sur plusieur lignes facilement :

$str = <<<EOS
ligne1
ligne2
ligne3
EOS;
EOS n'est pas obligatoire , on peut le remplacer par n'importe quelle chaine

Transmettre un nombre variable de paramètres à une fonction

func_num_args() : Retourne le nombre d'arguments passés à la fonction
func_get_arg() : Retourne un élément de la liste des arguments
exemple :
<?php
function multi_param()
{
$nb_param = func_num_args();
for ($i=0;$i<$nb_param;$i++) {
print("paramètre $i : " . func_get_arg($i) . "<hr>");
}
}
multi_param("f",4,"a","r",2);
?>

Les variables variables

Le nom d’une variable peut être lui-même une variable. Si $a contient 1et $b contient ’a’, la variable variable $b correspond en fait à $a.
<?php
$a = 1;
$b = ’a’;
echo $b; // affiche 1
?>

Utiliser un opérateur de comparaison de type

$a === $b $a et $b sont égaux et de même type

$a !== $b $a et $b sont différents ou de types différents (exemple 0 et false )

Les attributs __FILE__ et __LINE__

<?php
print("vous vous trouvez dans le fichier <b>");
print(__FILE__);
print("</b> à la ligne <b>");
print(__LINE__);
print("</b>.");
?>

Les opérateurs sur les tableaux

$a + $b --> Union de $a et de $b
$a == $b -->Renvoie true si $a et $b sont composés des mêmes paires clé/valeur ; les tableaux sont alors its égaux
$a === $b --> Comme ==, avec des vérifications en plus sur l’ordre et le type des données ; les tableaux sont alors dits identiques
$a != $b--> Renvoie true si $a et $b ne sont pas égaux
$a <> $b -->Renvoie true si $a et $b ne sont pas égaux
$a !== $b--> Renvoie true si $a et $b ne sont pas identiques