@tony_marston. Here’s the output of PHPMD (PHP Mess Detector) for your default_table class:
What you might find particularly interesting are the lines:
/home/tom/Downloads/radicore/std.table.class.inc:7 The class Default_Table has 8961 lines of code. Current threshold is 1000. Avoid really long classes.
/home/tom/Downloads/radicore/std.table.class.inc:7 The class Default_Table has 342 public methods and attributes. Consider to reduce the number of public items under 45.
/home/tom/Downloads/radicore/std.table.class.inc:7 The class Default_Table has 110 fields. Consider to redesign Default_Table to keep the number of fields under 15.
/home/tom/Downloads/radicore/std.table.class.inc:7 The class Default_Table has 169 methods. Consider refactoring Default_Table to keep number of methods under 10.
/home/tom/Downloads/radicore/std.table.class.inc:7 The class Default_Table has an overall complexity of 1585 which is very high. The configured complexity threshold is 50.
and the multiple occurrences of:
The method getData_serial has a boolean flag argument $unbuffered, which is a certain sign of a Single Responsibility Principle violation.
The method reset has a boolean flag argument $keep_orderby, which is a certain sign of a Single Responsibility Principle violation.
..etc