
Программирование с использованием PHP Это может, в любом случае, Вы должны были сделать использование Анонимные функции. Анонимные функции являются функциями, которые объявлены в собственный поток кодекса, которые разрабатывают и предположить, что они являются функциями, которые мы используем только в этом месте, Следовательно, мы не считаем их друг от друга и повторное использование.
Обычно, Эти функции используются как прием из обратные вызовы другие функции или события, и лечение кодируется в них такое обратный вызов o события Вы должны иметь. Таким образом, Вы можете сделать развития или событие ориентированное программирование, более характерна для других языков как JavaScript.
Если когда-нибудь вы запрограммировали в Javascript, Когда делать, Например, вызов функции setTimeout, один из параметров, которые он имеет обратный вызов функция, которая требуется для запуска, когда это происходит события.
1 | setTimeout( function() { console.log( 'test' ); }, 3000 ); |
То же самое, в PHP Есть моменты, когда это целесообразно использовать обратные вызовы как параметры функций. Ниже мы увидим возможное использование анонимной функции в PHP. Предположим, что у нас есть функция, в которой одним из ее параметров является обратный вызов:
1 | nombre_funcion( $parametro1, $parametro2, $callback = '' ); |
в параметре $обратный вызов, Мы могли бы непосредственно получить имя функции Я хочу его запуск, и что мы ранее определили, либо, прямо Анонимная функция. Мы увидим две формы:
- Путем вызова функция, ранее определенная:
1 2 3 4 5 | function mi_funcion() { //código de mi_funcion } nombre_función ( $parametro1, $parametro2, 'mi_funcion' ); |
- Используя Анонимная функция:
1 2 3 4 5 | nombre_funcion( $parametro1, $parametro2, function() { //código de la función anónima } ); |
Как передавать параметры или переменные в анонимных функций
Когда мы используем Анонимные функции, в рамках код этих, У нас нет доступа к для переменная или объекты, которые ранее были определены в поток кода, Поэтому, Если необходимо сослаться на некоторые из них, либо Мы делаем его глобальной, либо мы предоставляем доступ к ним, как мы увидим ниже:
Предположим, Предыдущий пример с некоторыми Предыдущий код Добавлено:
1 2 3 4 5 6 7 | $aux = 'Esto es una prueba'; nombre_funcion( $parametro1, $parametro2, function() { //Desde aquí no tengo acceso a la variable $aux } ); |
От внутри анонимной функции У нас нет доступа к в переменной $AUX ранее определен. Чтобы использовать эту переменную, Мы должны сделать это следующим образом:
1 2 3 4 5 6 7 | $aux = 'Esto es una prueba'; nombre_funcion( $parametro1, $parametro2, function() use ( $aux ) { //Ahora sí que tenemos acceso a la variable $aux } ); |
Добавление, После идентификатор функции Функция(), слово Использование После, круглые скобки, переменная, к которой мы хотим получить доступ к, Мы разрешение что от внутри анонимной функции У нас есть доступ к в переменной, Что США позволит предотвратить того, чтобы объявить глобальные переменные и последующее использование операторов внутри функции.
