Есть ли способ программирования 100% объектно-ориентированного в PHP?

Я думаю, можно вызвать функции в отдельном классе, я называю это объектно-ориентированное программирование на PHP.

Но в начале всегда есть index.php или что-то, что вызывает или создает экземпляр другого класса.

Есть ли вообще способ иметь класс, который является самоназванием таким образом, как java делает с

public static void main(String[] args) ... 

Не по умолчанию. Но вы можете написать свой собственный бутстрап, который делает это, см. Связанный ответ, в котором описывается, как вы можете это сделать.

Если index.php является вашей единственной центральной точкой входа, это уже загрузочный файл.

С этого момента вы можете делать все, что вам нравится. Тем не менее, я думаю, что ваш вопрос меньше о ООП, но больше о том, как вы занимаетесь ссылкой на код своего приложения.

Вам нужна точка входа в ваше приложение. Пункт входа Java является предопределенным именем, которое автоматически вызывается при запуске приложения. Точка входа PHP – это первая строка первого исполняемого файла. Таким образом, вам нужно заставить мяч катиться с помощью одного «процедурного» вызова где-то, что может быть просто чем-то вроде:

 require_once 'controller.php'; new Controller; 

Это, по сути, то же самое, что и Java, только более явно.