¿Qué son los ganchos? [cerrado]

15

Sigo llegando este término enganches en varios artículos de programación. Sin embargo, no entiendo qué son y cómo se pueden usar. Así que solo quería saber cuál es el concepto de ganchos; Si alguien me pudiera vincular con algunos ejemplos, particularmente en el contexto del desarrollo web, sería genial.

    
pregunta Rasmus 22.10.2010 - 05:49
fuente

2 respuestas

17

Mi respuesta se refiere a WordPress que está escrito en PHP, pero esta es una mecánica de desarrollo general, por lo que no debería importar, a pesar del hecho de que hayas puesto "python" en el título de tu pregunta.

Un buen ejemplo del uso de ganchos, coincidentemente en el desarrollo web, son 'ganchos de WordPress .

Se nombran apropiadamente porque permiten una forma de "engancharse" en ciertos puntos de la ejecución de un programa.

Así, por ejemplo, wp_head es una 'acción' que se emite cuando se está representando un tema de WordPress y está en la parte donde representa la parte que está dentro de las etiquetas <head> . Diga que desea escribir un complemento que requiera una hoja de estilo, un script o algo que normalmente iría dentro de esas etiquetas. Puede "enganchar" a esta acción definiendo una función que se llamará cuando se emita esta acción. Algo como:

add_action('wp_head', 'your_function');

your_function() podría ser algo tan simple como:

function your_function() {
    echo '<link rel="stylesheet" type="text/css" href="lol.css" />';
}

Ahora, cuando WordPress emita esta acción haciendo algo como do_action('wp_head'); , verá que your_function() fue 'conectado a' esa acción, por lo que llamará a esa función ( y transmítale todos los argumentos que sean necesarios, tal como se define en la documentación para cualquier enlace en particular ).

En pocas palabras: le permite agregar funcionalidad adicional en puntos específicos de la ejecución de un programa al 'enganchar' a esos puntos, en la mayoría de los casos asignando una función de devolución de llamada.

    
respondido por el Jorge Israel Peña 22.10.2010 - 06:09
fuente
2

Dependiendo de los antecedentes de la persona que pregunta, a veces la respuesta a esta pregunta puede ser tan simple como los enganches suelen ser otra palabra para un controlador de eventos, a lo que Blaenk dio una excelente explicación.

También hay usos de esta frase que son cuando se inyecta un evento o código en un proceso que de lo contrario no tiene eventos como moles por ejemplo.

    
respondido por el Bill 23.10.2010 - 00:01
fuente

Lea otras preguntas en las etiquetas