He estado escribiendo en PHP durante 12 años, e incluso vi la traducción de proyectos de PHP 4 a PHP 5. Incluso entonces, después de graduarme, entendí cuán bajo era el nivel de la mayoría de las personas que escribían en PHP. El pesado legado de PHP 4, la baja complejidad algorítmica y estructural de los proyectos (incluso con una gran base de código), la opción # 1 para las pequeñas empresas, todo esto hizo su trabajo. La comunidad no era profesional y no me gustó. Pero lo que está sucediendo ahora es aún peor.
Una breve introducción para aquellos que no han seguido el desarrollo de PHP en los últimos 10 años. Hoy en día, el lenguaje se parece a Java en términos de sus capacidades y estilo de codificación moderno. Tenemos buenas interfaces, clases, rasgos, espacios de nombres, sugerencias de tipos, marcos de nivel empresarial, un buen administrador de paquetes con seguimiento de dependencias. El intérprete estaba terminado y gradualmente se hizo posible escribir demonios de larga duración y servidores asincrónicos con buen rendimiento. Conjunto estándar de lenguaje de programación industrial en 2020. Algo es mejor, algo peor, pero todo el mundo tiene defectos.
Junto con el idioma, también ha cambiado el carácter de quienes escriben en él. Las personas que escribían al estilo de PHP 4 estaban y serán, aunque PHP 8 fue lanzado el mes pasado, pero también hay quienes podrían ser llamados los astronautas menos ofensivos de la arquitectura. Probablemente hayas escuchado más de una vez sobre patrones, SOLID, KISS, DRY, YAGNI, la diferencia entre una interfaz y una clase abstracta, etc. Hasta hace 5 años, esta era la norma para la cultura C # / Java, pero ahora estos son temas típicos en la comunidad PHP.
Es bueno y maravilloso que las cosas del mundo de la gran ingeniería de software también hayan llegado a nuestro mundo. La mala noticia es que en el 99% de los casos no se necesita aquí. Peor aún, muchos de los autores que analizan las abreviaturas anteriores no comprenden completamente a qué se enfrentan. Y, probablemente, lo peor es que ahora el mundo de PHP no lo está negando ninguna práctica académica, sino teóricos profundos, académicos del arado. Aunque la complejidad de los proyectos disponibles en el mercado laboral no ha cambiado drásticamente, esta academia tiene un lugar por donde deambular.
PHP — symfony/laravel + mysql/postgresql/mongo + redis + rabbitmq + elk. , , , . , PHP , , , SOLID. , , , , .
, . , . , , . . , , — , () .
, . . -. , , . , , , -, .
SOLID . , . , mock- . , , . — . — .
, Drupal - . , ! - CMS , , , . , .
PHP , , . , , . , , . , , , . . PHP- Java- .
PHP Java — , , , . PHP . enterprise . , . — , - . , , -, .
PHP , Java, Javascript, . , web-. , , , . .
- . - , . « — » , . «SOLID », « ». , . — , , - . , .