Bonjour à tous,
Comment faire pour savoir si une classe dérivée composée que de fonctions statiques implemente une interface spécifique quand la fonction appelée par la dérivée est localisée dans la classe parente.
Je sais pas si c'est super clair, voilà un petit exemple bien plus parlant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<?php

interface iTest { }

class base {
public static function create() {
if (self instanceof iTest) echo 'iTest';
}
} class child extends base implements iTest { } child::create();
Le problème se situe avec le self qui ne gère pas le LSB
J'ai essayé avec get_called_class() mais là plus question d'objet juste une string. Et à chaque fois le test échoue child n'implémente pas iTest !