I think you misunderstand. The first block of code is an absolute path (starts with / for root), and the second is a relative to the current script.
My recommendation is to always use relative where you can. But, be aware that PHP takes its cwd (current working directory) from the executing script, not the included ones.
Now, if you include menu.php into index.php using
and the same with templateManager, then use templateManager in menu.php like so:
, this will fail. This is because the cwd of the index.php is public_html, while the menu cannot find the TemplateManager.php. Solve by creating a relative absolute path (sorry, I don't have a better name for it). This lets you attach to any file relative to the current file:
require_once dirname(__FILE__) . '/./includes/TemplateManager.php'; // Index's call
require_once dirname(__FILE__) . '/./TemplateManager.php'; // Menu's call