Изучаем php. Функции

Итак, продолжаем серию уроков по php.

Теперь мы изучим функции (да-да, так сразу). Функции позволяют уйти от дублирования кода на сайте тем самым ускорив скорость разработки и уменьшить количество самого кода. Допустим, у нас есть сайт, и на каждой странице выводится какая-то информация. Разберем простой пример, и напишем простую функцию фильтрации текста, чтобы применять ее на каждой странице сайта а где-то не по 1 разу. Создадим файл filter.php в корне нашего сайта.

<?php
function filter ($string) {
    $string = trim($string);
    $string = htmlspecialchars($string);
    return $string;
}

Теперь, чтобы применить эту функцию в каком-то участке кода – нам не нужно писать 4 лишние строчки кода а достаточно написать filter($value); где $value это слово (или строка) которую необходимо фильтрануть. Допустим на сайте есть некоторые формы, которые заполняют пользователи, и во избежание написания ими (пользователями) всякой бяки на ваш сайт мы применяем нашу функцию. Создадим файл index.php в корне нашего сайта

<form action="" method="post">
    <input name="name" type="text">
    <input name="enter" type="submit" value="Отправить">
</form>

К примеру, такие формы (я пишу только ради примера, поэтому форма такая простая всего с одним полем ввода и кнопкой отправить). Пишем небольшой наипростейший обработчик в том же файле index.php .

<?php
include "filter.php"; // подключаем созданный ранее файл с функцией
if (isset($_POST['enter'])) // если нажата кнопка Отправить (name кнопки = enter), то выполняется следующий код
{
  $name = filter($_POST['name']);
/**
 * создаем новую переменную и применяем нашу функцию
 * ключевое слово filter указывает, что необходимо найти эту функцию и выполнить
 * в скобках указывается $value - то, что фильтруем, в нашем случае это
 * введеные пользовательские данные из текстового поля с именем name
 * функция применяется автоматически и обрабатывает все, что введет пользователь
 */
  exit($name); // завершаем работу скрипта и выводим на экран результат обработки нашей функции
} else { ?>
    <form action="" method="post">
        <input name="name" type="text">
        <input name="enter" type="submit" value="Отправить">
    </form><?php
}

Теперь все работает. Ниже приведены скриншоты как это выглядит (если вам лень практиковаться)

Простая форма с одним полем ввода и кнопкой отправить

Напишем что-нибудь нехорошее в поле ввода (к примеру js скрипт с алертом)

Как видим – весь текст обработался нашим простеньким фильтром и просто вывелся на экран текстом. Скрипт завершил работу без вреда для сайта

Таких форм может быть бесчисленное множество (хотя фильтровать текст надо всегда, и не обязательно в формах для пользователей). Так-же как и функции могут быть абсолютно разными , некоторые уже есть готовые в самом php (н-р: date(), time() и т.д.) – найти и ознакомиться с ними можно на сайте php.net . Например мы применяли функцию isset()

На этом все. Кому было полезно – напишите в комментариях какие функции вы придумали сами 😀

Author: GM

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *