But I hate you for new and better reasons.
Use React for frontends. Javascript, with ES6 and now ES2017, has matured to the point where, with a well-built toolchain (ESLint, Babel, Webpack), it is a decently-effective language that is not actively working against you. Outside of React, there's no reason to use anything else save Ember, and React seems to be winning that fight. Isomorphic stuff (serverside rendering that then gets handed off to client-side React) is nice, but not required for most stuff. But React should be a standard part of your toolkit because it makes writing frontends
better, as well as faster.
Backends--whatever. PHP is still a tar pit that captures the incurious, but at this point pretty much anything is fine. But it's important not to write the API clients that your React frontend will consume by hand, or write the API endpoints it'll consume. Instead of doing that nonsense, use Swagger instead to specify your API and generate clients in whatever languages you want. Once you've built out endpoints with a Swagger generator it's plug-and-chug code and anything (that isn't PHP) works; I mostly use Node/ES6 with
swaggerize-express for applications I don't care about (because passing back and forth to React is trivial and socket.io is a fantastic websocket tool).
I still will under no circumstances write ES5, but ES6 has improved my opinion of Node and its ecosystem significantly. I'm currently writing a
video overlay system using Node and HTML5/WebGL right now, and the tooling is still a little janky but it's awesome to actually work in.