По моему PHP делал психически больной человек. Только этим можно объяснить необходимость зачем-то ставить $ перед именами переменных и полное отсутствие собственных методов у массивов, что делает невозможным человеческий чейнинг, столь удобный при работе с оными. Javascript же вполне себе приятный и современный язык.
Другое дело что для PHP есть нормальные фреймворки с ORM, а в node js все из разряда сделай сам.