To me, the big difference is that node is asynchronous, while PHP is not. If you're doing any database access in node, writing code to wait for the database to respond without going on to the next part of the logic is a shift in thinking in an asynchronous environment. Callbacks, promises, etc. are all options, but it's a definite shift from the norm if your norm is a synchronous language like PHP.