|
My company's product backend is written in PHP. I'm currently rewriting it, and when I started the process, I tried doing it in Node.js because 1) the possibility of client/server code sharing and 2) that's what all the cool kids were doing. That lasted all of a few weeks before the async nature of Node made my head nearly explode. I scraped that and went back to PHP where you can depend on code being executed line-by-line, synchronously, without hacks. As a language, PHP definitely has some warts. But, it's come a long way, and it keeps getting better all the time. Personally, I don't think it deserves all the hate it gets. Some criticism is warranted, but definitely not all of it. I think a lot of it stems from the fact that the language is so easy to learn and lets you do things your own way, which (at least in the early days) led to a lot of newbies writing insecure code. See: register_globals (since removed). That all said, I love PHP. It's simple, yet powerful. It grows with you, and most importantly, it gets the job done. |
I have yet to see a good example where this was worth even considering. Model validation seems to be the only real use case and there are so many potential non-JS based clients that you'll likely need a more general solution for that problem anyway. And even for JS based clients, usually the big pain is the UI logic for showing users the errors and helping them correct it, stuff you won't use on the server side.