Last active
August 29, 2015 13:58
-
-
Save vonglasow/10021599 to your computer and use it in GitHub Desktop.
traits properties
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
trait a { | |
public function getConfig() | |
{ | |
return $this->world . '/config.php'; | |
} | |
} | |
class B { | |
public $world = __DIR__; | |
use a; | |
} | |
$b = new B; | |
var_dump($b->getConfig()); |
Surtout qu'en fait ma première implémentation était de la merde (j'ai repiqué du code pour aller vite, et j'ai été trop vite pour le nettoyer…), donc @jubianchi, ta remarque par rapport au getBasePath()
était donc pertinente (j'ai mis à jour le code).
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks à tous pour vos feedback !
L'application se base sur du ZF2 et chaque module est un répertoire contenant la classe Module.php (cf http://www.zendframework.com/manual/2.1/en/user-guide/modules.html) ainsi que les autres classes nécessaires au module. Et donc à chaque création d'un nouveau module on est obligé d'avoir cette fameuse méthode getConfig qu'on souhaiterais mutualiser quelque part car faisant toujours la même chose partout.
Et donc à la vue de ce que tu expliques on devrait plutôt modifier la classe Module pour qu'elle implémente l'interface configurable. Ça ne devrait pas poser de soucis mais le problème est que l'on devrait avoir une classe config qui implémente configuration dans chaque module cela reviens à déplacer la méthode getConfig dans une autre classe. Pourquoi pas mais à la création d'un nouveau module ce n'est pas une méthode que l'on va devoir réécrire à l'identique mais bien une classe complète. Ou alors il faudrait partir sur un système de config qui se gère automatiquement par rapport au noms de la classe appelée et qui aille rechercher la config d'après le nom de classe + namespace ?