Модуль 3. Часть 1. Пользовательские функции

Программа модуля

  • Пользовательские функции
  • Аргументы и возврат значений
  • Аргументы по умолчанию
  • Статические переменные
  • Type hinting
  • Рекурсия
  • Функции, принимающие переменное кол-во аргументов
  • Анонимные функции

Приложения к модулю

Презентация:

Лабораторная работа № 1

Напишите функцию, считающую аннуитетный ипотечный платеж.
  1. Создайте страницу functions.php в каталоге lib.
  2. Напишите функцию mortgage, считающую аннуитетный платеж.
  3. Проверьте, что функция работает верно.

Лабораторная работа № 2

Напишите функцию, возвращающую html список с элементами навигационного меню.
  1. Напишите функцию menu, которая будет строить html код для навигационного меню сайта (тег nav), используйте type hinting.
  2. Вызовите её на странице index.php вместо старого кода, выводящего меню.
  3. Проверьте, что функция работает верно.

Лабораторная работа № 3

Напишите функцию, принимающую анонимную функцию и переменное кол-во аргументов.
  1. Напишите анонимную функцию, которая принимает массив строк и возврвщает html разметку, где каждая строка из массива помещена в тег div.
  2. Напишите такую же функцию для тега h2.
  3. Теперь напишите функцию renderHtml, которая принимает анонимную функцию и переменное кол-во аргументов (строки). Эта функция должна применить анонимную функцию к аргументам и вывести на экран html разметку.

Тесты

Проверка знаний.

Тест доступен по ссылке.

Домашнее задание

Функции.
  • Напишите функцию, реализующию пагинацию на странице блогов (что такое пагинация вы можете узнать в google). Данная функция должна принимать следующие аргументы: 1 - массив с блогами, кол-во блогов на странице и текущую страницу. Функция должна возвращать массив с блогами для вывода на странице.
  • Создайте пагинацию на странице блогов, используя созданную функцию. Номер страницы вы можете получить с помощью get-параметра.
  • * Реализуйте функцию, создающую многоуровневый html-список. Используйте рекурсию. В качестве тестовых данных, можете использовать массив вида: Массив для построения списка

© 2020-2021 Александр Пантелеев