Если вы уже изучили немного о функциональном программировании, вероятно, уже слышали о функции, которая называет в этой статье. И, кроме того, если изучал Javascript, возможно, уже учился по этой концепции.
Приведу в этой статье краткий совет, как применить эту концепцию настолько популярным в функциональном программировании (широко популяризировал Javascript в PHP.
Функция стрелки
Arrow functions были введены в PHP начиная с версии 7.4 языка, и имеет в качестве основных миссий дать производительности разработчика и облегчения работы с областью.
Vamos ver um пример пользователя código com функция стрелки :
$valorDoEmprestimo = 30000;
$taxaDeJuros = 18.63;
function calcularJuros($emprestimo, $taxa) {
return $emprestimo * ($taxa/100);
}
var_dump(calcularJuros($valorDoEmprestimo, $taxaDeJuros));
Давайте предположим, что такая ставка является фиксированной и не нужно быть передана в качестве параметра:
$valorDoEmprestimo = 30000;
$taxaDeJuros = 18.63;
function calcularJuros($emprestimo) {
return $emprestimo * ($taxaDeJuros/100);
}
var_dump(calcularJuros($valorDoEmprestimo));
В этом случае мы будем получать ошибку:
Undefined variable: taxaDeJuros
Потому, что переменная $taxaDeJuros была объявлена вне функции calcularJuros и за счет сферы, она не enxergada внутри функции. Ai que entrar a функция стрелки .
Прежде, давайте посмотрим тот же пример кода с анонимной функцией:
$valorDoEmprestimo = 30000;
$taxaDeJuros = 18.63;
$jurosCalculados = function ($emprestimo) use ($taxaDeJuros) {
return $emprestimo * ($taxaDeJuros/100);
};
var_dump($jurosCalculados($valorDoEmprestimo));
Хорошо, мы решили частично наша проблема. Использование позволяет нам “наследовать” переменные из родительской области. Не нужно передать как параметр в функции, но все же мы должны ссылаться.
Агора, о месмо примеро де кодиго усандо функция стрелки :
$valorDoEmprestimo = 30000;
$taxaDeJuros = 18.63;
$jurosCalculados = fn ($emprestimo) => $emprestimo * ($taxaDeJuros/100);
var_dump($jurosCalculados($valorDoEmprestimo));
Гораздо более кратким, не так ли? Но что изменилось? Давайте перечислим:
- Сокращение слово function всего fn
- Замена пары ключей
{ }arrow=> - Подавление
return - И, наконец, не нужно было ссылаться на переменную
$taxaDeJurosв никуда. Она просто была признана быть от родительской области.
Просто, правда?
Если остались какие-либо вопросы или хотели бы дать обратную связь, оставить комментарий.:)
В следующей статье я приведу другие понятия функционального программирования, используя функции, map , filter e уменьшить нет PHP.
Оригинал: “https://dev.to/lucascavalcante/facilitando-o-entendimento-da-arrow-function-no-php-9a2”