Técnicamente hablando, no es posible, pero puede aproximarlo con soluciones alternativas.
La razón por la que no es técnicamente posible es porque PHP se ejecuta del lado del servidor, mientras que JavaScript se ejecuta del lado del cliente en el navegador. No hay un intérprete de PHP en el navegador, por lo que si desea ejecutar un fragmento de código PHP y hacer que interactúe con su JavaScript, debe ser a través de algún tipo de interacción con el servidor.
La forma más común de hacerlo es a través de una solicitud AJAX. Si hay un código que necesita ejecutarse en PHP, haga que su JavaScript llame al servidor y solicite el resultado. ¡NUNCA envíe código PHP sin procesar al servidor para su ejecución!
- ¿Se compila o interpreta Python o ambos?
- ¿Los bootcamps valen la pena para las personas que ya son desarrolladores front-end?
- ¿Hay alguna razón por la que no pueda usar Adobe Illustrator para crear y exportar gráficos web?
- ¿Cuál es mejor para construir su propio sitio web, HTML / CSS o PHP?
- Para un B. Tech. Graduado de CSE que aún no ha comenzado a programar, ¿es bueno comenzar con Python y JavaScript? En caso afirmativo, ¿cuáles son los mejores libros para dominar Python y JavaScript en un nivel de principiante?
Aunque podría ser posible ejecutar cadenas de código PHP en el servidor a través de la función eval (), estaría abriendo el servidor a una vulnerabilidad de seguridad masiva. Cualquier hacker puede simplemente llamar a esa solicitud con su propio código PHP para hackear el servidor y tomar todos sus datos, eliminar todo su sitio o secuestrarlo para enviar SPAM, etc.
Si absolutamente debe ejecutar código PHP porque no puede generar el resultado deseado en JavaScript (por ejemplo, está utilizando una biblioteca PHP patentada o un módulo apache que no existe para JS), su llamada AJAX debe solicitar la función un nombre o algún tipo de alias, junto con sus parámetros. En el lado del servidor, debe filtrar todos los parámetros de entrada para los intentos de inyección de pirateo y devolver solo los datos del resultado.
Aquí hay un ejemplo básico usando jQuery y PHP a través de JSON:
Servidor (PHP):
<? php
$ action = isset ($ _ POST [‘acción’])? $ _POST [‘action’]: ”;
if ($ action == ‘addNumbers’) {
$ params = isset ($ _ POST [‘params’])? $ _POST [‘params’]: ”;
$ números = isset ($ params [‘números’])? $ params [‘números’]: array ();
$ resultado = array ();
$ resultado [‘total’] = array_sum ($ números);
echo json_encode ($ resultado);
salida;
}
?>
Cliente (usando jQuery):
$ .post (“server.php”, {
acción: ‘addNumbers’,
parámetros: {
números: [1,2,3]
}
},
función (resultado) {
alerta (‘la suma es’ + resultado.total);
}, “json”
);