Пространство имен и подключение класса?
Юрий верно говорит, только в Вашем случае надо не "App: src/" папку, а "App: classes/", т.е. корень ваших исходников. И расположить файлы в соответствии указанного PSR-0. (www.php-fig.org/psr/psr-0 )
Также можно воспользоваться PSR-4 (www.php-fig.org/psr/psr-4 ) там чуток другие правила.
Я, например делаю так: "autoload": {
    "psr-4": {
      "Appname\\": "src/"
    }
  }
Соответственно код лежит в папке src со следующей структурой (Это, кстати, как раз Silex проект.):src/
--Appname/
----Controller/
------IndexController.php
В контроллере будет namespace Appname\Controller;
А использование его как use Appname\Controller\IndexController as Control;
и еще помогает обновить автоловад composer dump-autoload -o
Еще один небольшой непонятный момент:
Почему у меня все работает в файле public/index.php:use Controller\ClientsController;

$myControl = new ClientsController();
$myControl->hello();
а если я подключу вместо этой иницилизации вспомогательный файл с аналогичным кодом:require "../src/routes/all.php";
То в нем класс ClientsController не находится? По сути код файла all.php вставляется в index.php и при этом все должно работать нормально, неужели путь влияет на это? В чем подвох?
Структура проекта:
-public/
--index.php
-src/
--routes/
---all.php