Как лучше реализовать защиту php файлов от прямого доступа?
часто все файлы к которым прямой доступ должен быть запрещен просто выносят за пределы веб директории
/src  (здесь весь код приложения)
/web (сюда смотрит apache/nginx)
-- index.php
Первый способ, он проверен годами и более всего удобен.