Here is some solution I think of:
A - Simply use a config file and set an array of key=>value that point to different models, low cost solution
<?php
return [
'models' => [
'model1' => '/path/to/model1',
'model2' => '/path/to/model2',
'model3' => '/path/to/model3',
],
];
then, permit users to select which model to use base on that array and litterally load (inlclude) a php file with the structure of the reading-model.
B - build a factory, define an json/array-like schema that simplify the building of the reading-model, use a db table to save the schema and retrive each reading-model from the database, high costs solution
C - ??
Thanks