web-dev-qa-db-fra.com

Comment faire un raccourci pour countModules?

J'en ai marre de taper $this->countModules('...'). Existe-t-il un moyen de créer un alias pour cette fonction, quelque chose de similaire au JavaScript, lorsque je fais juste var alias = myFunction?

J'ai essayé d'assigner $this à une variable globale, puis à l’utilisation de la fonction wrapper et j’ai essayé use $this->countModules as m mais rien de tout cela ne fonctionne.

Merci!

2
Jinx

Il n'y a tout simplement pas besoin de faire cela. Comme @Bakual l'a déjà dit, votre approche est une mauvaise pratique.

Pour commencer, vous intégrez une fonction dans une fonction inutilement lorsqu'elle n'est pas requise. Vous retournez ensuite JFactory::getDocument()->countModules(...), ce qui signifie que vous appelez la classe JFactory, puis appelez JDocument qui doit vérifier si elle existe déjà avant de la créer, puis le countModules() fonction. Globalement, vous ralentissez le processus.

Gardez les choses simples en vous en tenant à $this->countModules()

6
Lodder

Je l'ai compris après un peu plus de bricolage:

//Shorthand for countModules function
function m($arguments) {
    return JFactory::getDocument()->countModules($arguments);
}
2
Jinx