À l’image des signatures des fonctions de rappel des behaviors évoqués dans le billet précédent, certaines classes utilitaires ont elles aussi été modifiées pour éviter d’utiliser la variable $core
ou dcCore::app()
en paramètre de leur constructeur.
Cela dit, pour éviter, encore une fois, de trop casser l’existant, le plugin dcProxyV2 apporte le code nécessaire pour interfacer les nouvelles classes, suffixées V2, avec les anciennes.
La liste des classes concernées est la suivante :
dcActionsPage
dcPostsActionsPage
dcCommentsActionsPage
dcBlogsActionsPage
dcPagesActionsPage
adminGenericFilter
adminGenericList
flatImport
Vous pouvez donc continuer à étendre ces classes comme auparavant (via le plugin dcProxyV2), soit étendre les nouvelles, suffixées V2 et ne plus utiliser le paramètre $core
si vous faisiez appel au constructeur de la classe parente.
Notez que toutes les classes qui étendaient les classes ci-dessus étendent désormais les nouvelles.
Avant :
class adminPostFilter extends adminGenericFilter
{
protected $post_type = 'post';
Après :
class adminPostFilter extends adminGenericFilterV2
{
protected $post_type = 'post';
Par ailleurs les fonctions de rappel des actions, je parle des 5 premières classes citées plus haut, ont elles aussi « perdu » le paramètre $core
de leur liste d’arguments.
Exemple, avant :
public static function doChangePostStatus(dcCore $core, dcPostsActionsPageV2 $ap, $post)
{
switch ($ap->getAction()) {
case 'unpublish':
Après :
public static function doChangePostStatus(dcPostsActionsPageV2 $ap, $post)
{
switch ($ap->getAction()) {
case 'unpublish':