Лучший способ сохранить ваш PHP скрытым от публичного доступа - это соответственно структурировать ваши папки.Рекомендуется хранить файлы библиотеки и приложений как минимум на один уровень выше общедоступной папки, например:
/application
// application files
/library
// library and vendor files
/public (aka public_html, htdocs etc)
index.php
.htaccess
/css
/images
/js
Используйте htaccess и mod_rewrite для маршрутизации запросов в файл index.php, который затем отправитзапрос к приложению.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php
Таким образом, у вас есть только один общедоступный файл php, который включает в себя только другие файлы, недоступные через любой URL