Используя шаблон фронт-контроллера, вы можете поместить все ваши php-файлы за пределы веб-корня.Таким образом, они не доступны напрямую через URL.Это довольно распространенная практика в PHP-фреймворках, включая те, что построены на Zend 'Framework'.
Если ваши файлы находятся в веб-корне, вы можете использовать другой метод - использовать константы.Вот как CodeIgniter делает это.Определите константу в вашем фронт-контроллере и, если она не определена, отправьте их в корневой веб-каталог.Вот как CI использует константы.
Константа, используемая везде
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
Как она определена.
define('BASEPATH', $system_folder.'/');
$ system_folder несколько строк выше
$system_folder = realpath(dirname(__FILE__)).'/'.$system_folder;