$app-_GET-_POST - рука, все остальное ложки-вилки-тарелки-чашки, т.е. предметы которые отвечают за что-то одно. Можно конечно с руки все кушать, что многим проще, но для окружающих вы дикарь знатный. По сути если проект небольшой, то кажется перегружен, но если проект растет, это все помогает не устроить кашу. Также юнит тесты легче писать.
locate ищет по индексной базе, а не по диску, чтоб по диску искать нужно find, если хочется быстрый поиск то в запрос включите нужно директорию или "$PWD*/Урок" на текущую