A pesar de su desaconsejabilidad, el uso de comandos de shell de PHP para interactuar con comandos del sistema no php sigue siendo una forma común de lograr rápidamente ciertos resultados en aplicaciones web.Patrón para envolver comandos de shell en una clase
¿Alguien ha abstraído los casos de uso común en una biblioteca de clase (algo en Zend tal vez?) Que ofrece una manera más sana/común de manejar esto? Cada vez que encuentro (o tengo que producir) este tipo de código es un montón de spaghetti de procedimiento, copiado y pegado una y otra vez. Me preguntaba si (con la esperanza de que) la comunidad PHP haya encontrado una mejor manera de manejar aplicaciones de línea de comandos en sus aplicaciones web/php.
Muy buena pregunta. Las [Notas de Contribución del Usuario] (http://www.php.net/manual/en/function.exec.php) a exec() ofrecen una variedad de enfoques, la mayoría de la calidad que describe, aunque ... hay varios encarnaciones de funciones allí, una de las cuales generalmente funcionará. También hay algunas implementaciones de OOP más limpias, pero atienden casos muy específicos (como iniciar y detener procesos en Linux). Sería realmente bueno tener la implementación "perfecta" para esto. –
¿Cuáles son los "casos de uso común"? – Artefacto
Bueno, si pudiera hacer una lista de todos ellos y estar seguro de que los conocía, probablemente lo implementaría yo mismo en lugar de preguntar si alguien ya lo había implementado. En cualquier tarea de programación que parezca simple, hay toneladas de condiciones comunes en las que no piensas. Todo lo que quise decir con "casos de uso común" fue que quería que la solución ya estuviera pensada, y no una sola clase de método que envuelva una llamada shell. –