valores retornan que parametros funciones ejemplos array php oop dom callback function-calls

php - retornan - ¿Qué es una función de devolución de llamada y cómo la uso con OOP?



return dos variables php (5)

Quiero utilizar el analizador sintáctico PHP HTML simple para obtener la imagen, el título, la fecha y la descripción de cada artículo en una página llena de artículos. Cuando miro la API, noto que tiene un set_callback que establece una función de devolución de llamada. Sin embargo, no estoy seguro de qué hace esto o cómo lo usaría? En uno de los ejemplos, solía llamar a una función que elimina algunas cosas, ¿me pregunto si tiene que usar esto para llamar a todas las funciones?

Supongo que me estoy preguntando por qué uso esto, y ¿qué hace ya que nunca antes me he encontrado con una función de devolución de llamada?


Con PHP 5.3 , ahora puede hacer esto:

function doIt($callback) { $callback(); } doIt(function() { // this will be done });

Finalmente, una buena manera de hacerlo. Una gran adición a PHP , porque las devoluciones de llamada son increíbles.


Aquí hay un ejemplo de función de devolución de llamada básica:

<?php function thisFuncTakesACallback($callbackFunc) { echo "I''m going to call $callbackFunc!<br />"; $callbackFunc(); } function thisFuncGetsCalled() { echo "I''m a callback function!<br />"; } thisFuncTakesACallback( ''thisFuncGetsCalled'' ); ?>

Puede llamar a una función que tiene su nombre almacenado en una variable como esta: $ variable () .

Por lo tanto, en el ejemplo anterior, pasamos el nombre de la función thisFuncGetsCalled a thisFuncTakesACallback () que luego llama a la función transferida.


Una devolución de llamada es una función, un método de instancia de objeto o un método estático en una clase. De cualquier manera, es una especie de puntero a la función. En algunos idiomas, las funciones son de un tipo específico. Entonces puedes asignar una función a una variable. Estos generalmente se llaman lenguajes orientados a funciones. Un buen ejemplo es Javascript.

En PHP, una devolución de llamada puede ser cualquiera de:

$fn = ''foo''; // => foo() $fn = array($obj, ''foo''); // => $obj->foo() $fn = array(''Foo'', ''bar''); // => Foo::bar()

Vea la entrada manual para is_callable .

Puede invocar una devolución de llamada con la función bastante detallada call_user_func .


Una función de devolución de llamada usará esa función en cualquier dato que devuelva un método en particular.

No estoy seguro de cómo funciona esta biblioteca en particular, pero podría ser algo tan simple como:

$html = file_get_html(''http://example.com''); $html->set_callback(''make_bold''); $html->find(''#title''); // returns an array function make_bold($results) { // make the first result bold return ''<b>''.$results[0].''</b>''; }

es decir, la función " make_bold() " se ejecutará en cualquier dato encontrado. Una vez más, no estoy seguro de cómo funciona esta biblioteca en particular (es decir, qué métodos utilizará la función de devolución de llamada)


Definición

Una devolución de llamada / llamable es una función simple (ya sea una función anónima o nombrada) que pasamos a otra función como parámetro de función que en el resultado devuelve esa función aprobada.

Ejemplo

function iWillReturnCallback($callBackHere){ return $callBackHere; } function iAmCallBack(){ echo "I am returned with the help of another function"; } iWillReturnCallback(iAmCallBack()); //--Output -> I am returned with the help of another function

No te confundas

Hay algunas funciones predeterminadas en php que aceptan el nombre de la función de devolución de llamada como una cadena en su parámetro porque evita el conflicto entre el nombre de la constante y el nombre de la función. Entonces no te confundas en este tipo de cosas.