Executando verificação de segurança...
1

Na minha opinião misturad o server-side com client-side rendering não é o grande problema, e sim quando se fazem codigos igual no exemplo, onde não há uma separação dos conceitos a nivel de regra de negocio.
Como muito bem citado, o PHP "brilhou" no início de tudo porém trouxe uma série de problemas da mesma forma como o .Net, não pela forma de server-side rendering mas sim pela falta de preocupação por parte dos desenvolvedores daquela época.
Embora os conceitos e patterns tenham sido inventados a muito tempo atrás só estão ganhando popularidade nos tempos atuais - ninguém queria saber saber de Clean Architecture, DDD, testes unitarios e etc... nos anos 2000, e ainda hoje em 2023 é comum ver programadoes agarrados as "Boas práticas" do passado.

Sendo assim eu acredito que o principal motivo para tudo isso ter fracassado no passado foi não a tecnologia mas sim a mentalidade de desenvolvimento daquela época. Nos dias atuais estamos cada vez mais voltados a patterns e estratégias de desacoplamento a nivel de regra de negócio. O exemplo ilustrado poderia ser facilmente corrigido aplicando: Inversão/Injeção de dependências juntamente com repository pattern e uma camada de domínios, dessa forma poderia facilmente invocar esta camada de dados em qualquer lugar da aplicação que posteriormente caso fosse necessário se tornaria muito fácil a implementação de Api endpoints.

Carregando publicação patrocinada...