public function __construct() {
$db = new ServiceLocator();
}
"снаружи" определяете какой класс будет использоваться
вам надо всегда протаскивать зависимости через конструктор
Контроллер надо наследовать от того что создаёт вьюху
$view = new View();
Правила валидации либо в свойстве модели или контроллера
Добавляя только в начало или конец вы не можете гарантированно получить отсортированный массив