Разделы презентаций


Мировые информационные ресурсы Лекция 5. Функциональное программирование в РНР

Содержание

Определение функцииФункции могут создаваться 1. в любом месте программы РНР (как правило, в самом начале файла). 2 выделены в отдельный файл, называемый библиотекой. Библиотеки удобны тем, что их функции можно использовать

Слайды и текст этой презентации

Слайд 1Мировые информационные ресурсы Лекция 5. Функциональное программирование в РНР

Мировые информационные ресурсы  Лекция 5. Функциональное программирование в РНР

Слайд 2Определение функции
Функции могут создаваться
1. в любом месте программы РНР

(как правило, в самом начале файла).
2 выделены в отдельный

файл, называемый библиотекой. Библиотеки удобны тем, что их функции можно использовать в разных приложениях, не создавая лишних копий и не рискуя допустить ошибки в процессе копирования.

Определение функцииФункции могут создаваться 1. в любом месте программы РНР (как правило, в самом начале файла). 2

Слайд 3Определение функции
Определение функции обычно состоит из трех частей:
имени функции;


круглых скобок, в которых перечисляются необязательные входные параметры, разделенные запятыми;


тела функции, заключенного в фигурные скобки.
Обобщенный синтаксис функции:
function имя_функции ([$параметр1, $параметр2, .... $параметрn])
{
тело функции
}

РНР не проверяет аргументы на соответствие тем типам, которые должны обрабатываться функцией. Чтобы убедиться в том, что параметр относится к нужному типу, можно проверить его стандартной функцией gettype( ).
Определение функцииОпределение функции обычно состоит из трех частей: имени функции; круглых скобок, в которых перечисляются необязательные входные

Слайд 4Определение функции
Пример:
function get_sum($var, $var1) {
$sum = $var

+ $var1;
echo $sum; }
get_sum(5,2); // выводится 7

Передача

параметра по ссылке:
function get_sum(&$var) // аргумент передается по ссылке
{ $var = $var + 5;
return$var; }
$new_var = 20;
echo(get_sum($new_var)); // выводится 25
echo("
$new_var"); // выводится 25

Определение функцииПример: function get_sum($var, $var1) {  $sum = $var + $var1;  echo $sum; } get_sum(5,2);

Слайд 5Вложенные функции
Допускается объявление функций внутри других функций.
Вложенные функции не могут

вызываться до вызова своей родительской функции.
Пример:
function display_footer($site_name) {
function display_copyright($site_name)

{
print "Copyright &сору". date("Y"). $site_name. "All Rights Reserved";
}
print "
";
print "Главная страница | Примеры программ ";
print "| Новости сайта
Учебники ";
print "| О проекте | Контакты
";
display_copyright($site_name);
print "
";
}

Вложенные функцииДопускается объявление функций внутри других функций.Вложенные функции не могут вызываться до вызова своей родительской функции. Пример:function

Слайд 6Вложенные функции
$site_name = "Программирование на PHP";
display_footer($site_name);
display_copyright($site_name);
//display_copyright( ) можно вызвать

и за пределами display_footer( ).
Результат:
Главная страница | Примеры программ

| Новости сайта
Учебники | О проекте | Контакты
Copyright © 2008 Программирование на PHP. All Rights Reserved

Вложенные функции$site_name =

Слайд 7Возврат значений из функции
Функции могут возвращать значения любых типов, в

том числе массивы и списки.
Функции, не возвращающие значений, также

называют процедурами.
Пример:
$price = 24.99;
$tax = .06;
function calculate_cost($tax, $price) {
$sales_tax = $tax;
return $price + ($price * $sales_tax);
}
// возврат значения функцией calculate_cost().
$total_cost = calculate_cost ($tax, $price);
$total_cost = round($total_cost, 2);
print "Total cost: $".$total_cost;# $total_cost = 26.49

Возврат значений из функцииФункции могут возвращать значения любых типов, в том числе массивы и списки. Функции, не

Слайд 8Вызов функции в условную/циклическую команду
Пример: сравнение текущей суммы счета пользователя

с предельным размером кредита
$cost = 1456.22;
$limit = 1000.00;
function check_limit($total_cost,

$credit_limit)
// $total_cost - общая сумма счета, накопленная пользователем до настоящего момента.
// $credit_limit - максимальная сумма, которую может потратить пользователь.
if ($total_cost > $credit_limit): # если накопленная сумма счета превышает предельный размер кредита
return 0;
endif;
return 1;
}
Вызов функции в условную/циклическую командуПример: сравнение текущей суммы счета пользователя с предельным размером кредита $cost = 1456.22;$limit

Слайд 9Вызов функции в условную/циклическую команду
if (check_limit($cost, $limit)) :
print "Продолжить закупки";
else

:
print "Ваш кредит превышен, предел $".$limit."!";
endif;

Вызов функции в условную/циклическую командуif (check_limit($cost, $limit)) :print

Слайд 10Возврат значений при помощи списка
Пример:
// Сорт вина, для которого выводятся

лучшие годы производства
$label = "merlot";
// Функция использует массивы и "переменную

в переменной" для возвращения значений.
function best_years($label) {
$merlot = array("1987", "1983", "1977");
$zinfandel = array("1992", "1990", "1989");
return $$label;
// Выражение $$label сначала интерпретирует переменную $label,
// затем интерпретирует полученное значение как имя другой переменной.
}
Возврат значений при помощи спискаПример:// Сорт вина, для которого выводятся лучшие годы производства$label =

Слайд 11Возврат значений при помощи списка
// Функция list( ) используется получения

возвращаемых значений.
list ($yr_one, $yr_two, $yr_three) = best_years($label);
// Массив

merlot возвращается в виде списка,
// каждый возвращаемый год занимает свою позицию в списке
print "Для сорта $label рекомендуемые годы производства: $yr_one, $yr_two и $yr_three.";
Результат:
Для сорта merlot рекомендуемые годы производства: 1987, 1983 и 1977.
Возврат значений при помощи списка// Функция list( ) используется получения возвращаемых значений. list ($yr_one, $yr_two, $yr_three) =

Слайд 12Функции-переменные
динамические вызовы функций, имена которых определяются во время выполнения программы.
значительно

сокращают объем и сложность программного кода, а также часто снимают

необходимость в условных командах if.
вызов функции-переменной представляет собой имя переменной, за которым следует пара круглых скобок. В круглых скобках могут перечисляться параметры (однако присутствие параметров не обязательно).
Обобщенный синтаксис функции-переменной:
$имя_функции( );
Функции-переменныединамические вызовы функций, имена которых определяются во время выполнения программы.значительно сокращают объем и сложность программного кода, а

Слайд 13Функции-переменные
Пример: приветственные сообщения для разноязычных пользователей.
// Создать сообщение для

английского языка в функции.
function english( ) {
print "Welcome to

PHP site.";}
// Создать сообщение для итальянского языка в функции.
function russian( ) {
print "Добро пожаловать на сайт PHP.";}
// Выбрать русский язык
$language = "russian":
// переменная $language используется для выполнения функции-переменной.
// Выполнить функцию-переменную
$language( );

Функции-переменныеПример: приветственные сообщения для разноязычных пользователей. // Создать сообщение для английского языка в функции. function english( )

Слайд 14Построение библиотек функций
Пример:

сортировки массивов.
function merge_sort($array, $tmparray, $right, $left) {
...
function bubble_sort($array, $n) {
...
}
function

quicksort ($array, $right, $left) {
...
}
?>
Построение библиотек функцийПример:

Слайд 15Подключение библиотеки
Функция include( )‏
Синтаксис:
include(путь/имя_файла); или include "путь/имя_файла";
Путь определяет относительный

или абсолютный путь к файлу.
Если функция include() используется в условной

команде, то она должна быть заключена в фигурные скобки или в альтернативные ограничители.
Функция include_once( )
- делает то же, что и include( ), за одним исключением: прежде чем включать файл в программу, она проверяет, не был ли он включен ранее.
Если файл уже был включен, вызов include_once( ) игнорируется, а если нет — происходит стандартное включение файла.
Подключение библиотеки Функция include( )‏Синтаксис:include(путь/имя_файла); или include

Слайд 16Подключение библиотеки
Функция require( )‏
Синтаксис:
require(путь/имя_файла);
или require "путь/имя_файла";
Путь определяет

относительный или абсолютный путь к файлу.
Функция require_once( )
- гарантирует,

что файл будет включаться в сценарий всего один раз. После вызова requirе_оnсе( ) все дальнейшие попытки включения того же файла игнорируются.
Подключение библиотеки Функция require( )‏Синтаксис:require(путь/имя_файла); или require

Слайд 17Подключение библиотеки
Различие между функциями require( ) и include( )‏
Файл,

определяемый параметром require( ), включается в сценарий независимо от местонахождения

require( ) в сценарии.
Например, при вызове requiге( ) в блоке if при ложном условии файл все равно будет включен в сценарий.
Если вызов функции include( ) включен в блок команды if, то файл включается в программу лишь в том случае, если условие if истинно.
Подключение библиотеки Различие между функциями require( ) и include( )‏Файл, определяемый параметром require( ), включается в сценарий

Слайд 18Подключение библиотеки
Пример включения библиотеки:
// Предполагается, что библиотека array_sorting.inc
//

находится в одном каталоге со сценарием.
include("array_sorting.inc");
// Теперь можно использовать любые

функции из array_sorting.inc
$some_array = array (50, 42, 35, 46);
// Использовать функцию bubble_sort()‏
$sorted_array = bubble_sort($some_array, 1);
Подключение библиотеки Пример включения библиотеки: // Предполагается, что библиотека array_sorting.inc// находится в одном каталоге со сценарием.include(

Слайд 19Локальные переменные
Переменная, объявленная внутри функции, считается локальной; другими словами, на

нее можно ссылаться только в этой функции.
При любом присваивании

вне функции будет использоваться совершенно другая переменная, которая не имеет ничего общего (кроме имени) с переменной, объявленной внутри функции.
При выходе из функции, в которой была объявлена локальная переменная, эта переменная и ее значение уничтожаются.

Локальные переменныеПеременная, объявленная внутри функции, считается локальной; другими словами, на нее можно ссылаться только в этой функции.

Слайд 20Локальные переменные
Пример:
$х = 4;
function assignx () {
$х =

0;
print "\$x inside function is $x.
";
}
assignx();
print "\$x outside

of function is $x.
";

Результат:
$х inside function is 0.
$х outside of function is 4.

Локальные переменныеПример:$х = 4; function assignx () { $х = 0;print

Слайд 21Глобальные переменные
- доступны в любой точке программы.
- чтобы изменить

значение глобальной переменной, необходимо специально объявить ее как глобальную в

соответствующей функции. Для этого перед именем переменной ставится ключевое слово GLOBAL.
Пример:
$somevar = 15;
function addit() {
GLOBAL $somevar;
$somevar++;
print "Somevar is $somevar"; }
addit();
Вывод: значение $somevar, равное 16.
Без строки GLOBAL $somevar; будет выведено значение 1.

Глобальные переменные- доступны в любой точке программы. - чтобы изменить значение глобальной переменной, необходимо специально объявить ее

Слайд 22Глобальные переменные
Альтернативный способ объявления глобальных переменных: использование массива РНР $GLOBALS(

).
Пример:
$somevar = 15;
function addit() {
$GLOBALS["somevar"];
$somevar++;
}
addit();
print "Somevar

is $somevar";

Глобальные переменныеАльтернативный способ объявления глобальных переменных: использование массива РНР $GLOBALS( ). Пример:$somevar = 15;function addit() { $GLOBALS[

Слайд 23Статические переменные
- сохраняют свое значение при повторном вызове.
- для объявления

статической переменной перед ее именем ставится ключевое слово STATIC:
STATIC

$somevar;
Пример:
function keep_track() {
STATIC $count = 0;
$count++;
print $count;
print "
";
}
keep_track();
keep_track();
keep_track();

Статические переменные- сохраняют свое значение при повторном вызове.- для объявления статической переменной перед ее именем ставится ключевое

Слайд 24Статические переменные
- сохраняют свое значение при повторном вызове.
- для объявления

статической переменной перед ее именем ставится ключевое слово STATIC:
STATIC

$somevar;
Пример:
function keep_track() {
STATIC $count = 0;
$count++;
print $count;
print "
";
}
keep_track();
keep_track();
keep_track();

Результат:
1
2
3

Статические переменные удобны при написании рекурсивных функций.

Статические переменные- сохраняют свое значение при повторном вызове.- для объявления статической переменной перед ее именем ставится ключевое

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика