Почему в PSR пишут, что НЕОБХОДИМО 4 пробела?
4 потому что размер таба "стандартный".
Пробела потому что с пробелами будет выглядеть везде одинаково(браузер, блокнот, всё что угодно), в отличие от табов.разобраться в которой без 4 пробелов невозможно, типа callback-hell в js?
Причем здесь PSR(php) и JS только непонятно...
У JS свои рекомендации, точнее даже у каждой компании свои JS правила.
Это дело стандарта написания кода и ничего кроме него.
В PSR приняли именно такие ограничения. Откуда такое решение - обсуждения на стадии создания этого PSR и ничего кроме.Просто и так код в ширину растет
См. "Совершенный код" С.Макконнелла и "Чистый код" Р.Мартина. Это куда осмыленнее, чем пытаться ужать код используя 2 пробела в качестве отступа.
PS: честно говоря, первый раз вижу приверженца отступа в 2 пробела. Повсеместно (т.е. не только в PHP, проекты на C, Python, C-за-решёточкой, Go) используются или 4 пробела или табуляция, настроенная в длину 4 пробелов и холивары ведутся между этими двумя вариантами.