Best practice Dependencies/Abhängigkeiten

Composer „replace“

Einfache Möglichkeit ein Plugin auszutauschen. Lesen Sie hier mehr.

Plugin patchen

Lesen Sie hier mehr.

PHP extend

Um eine sehr enge Kopplung herzustellen, ist es möglich, per composer ein Plugin zu requiren und zum Controller zu extenden.
Diese Vorgehensweise gilt als Worst Practice. Stichwort: Favour Composition over inheritance

Autoloading

Es ist möglich, Klassen in ableitenden Plugins so registrieren, dass deren Namespace den originalen überschreibt. 
https://stackoverflow.com/questions/28104574
Die Vorgehensweis ist ebenfalls Worst Practice (siehe Stackoverflow).

Identifikatoren aus der Datenbank im Code

Identifikatoren für Datensätze aus der Datenbank sollten nicht fest im Code definiert werden. Eine solche Abhängigkeit führt bei einer Änderungen der Datenbank zu einem Fehler. Es sollten stattdessen Konfigurationen angeboten werden um eine Referenz auf einer Datenbankdatensatz definieren zu können.