В начальном файле вы можете создать константу, на "корень сайта".
То есть в файле index.php добавляете
<?php
/**
* Указываем начальную точку от куда,
* будем тянуть все файлы в последующем.
* Также для проверки как запущен наш файл,
* напрямую из браузера или подключен из главного скрипта.
*/
define('BASEPATH', __DIR__);
// подключаете нужные файлы header, content, footer
require_once "partials/header.php";
// в подключенных файлах используйте такой способ.
// например в файле partials/header.php
// require_once BASEPATH . "partials/menu.php";
Про безопасность. Вы можете проверять в начале каждого файла какую-нибудь константу, и если ее нет прекращать работу скрипта. В данном случае можно также использовать уже созданную BASEPATH.
<?php if (!defined('BASEPATH')) exit('Прямой доступ к файлу запрещен...');
// ... ваш код файла partials/header.php, partials/menu.php и т.д. ...