perchè era tanto peccato fare qualcosa in stile:
Codice PHP:
interface IController
{
   public function 
main();
}

abstract class 
Controller implements IController
{
   public function 
__construct()
   {
      
// ...
   
}

e di conseguenza quando estendi Controller sei obbligato a fare:
Codice PHP:
class Pager extends Controller
{
   public function 
main()
   {
      
// ...
   
}

dovevi solo rendere "abstract" la classe controller e creare l'intercaccia con la funzione main().