BVIsoft.com - документация, статьи и примеры по PHP. [Назад]

Функции, как неотъемлемая часть программирования[Печать]
Разместил: admin . Раздел: Общие. Опубликовано: 09-20-2007 20:05:16
Не зря эту статью, я назвал "Функции, как неотъемлемая часть программирования", ведь без них, по моему мнению, ни один язык не имеет право на существование. Что же это такое? Функция - это главная составляющая хорошо написанной программы. Она облегчает не только чтение кода, но и в корне меняет представление о структурном программировании. При помощи функций, Вы можете многократно использовать отдельные части программы, передавая им какие-либо параметры. Ни одну серьёзную программу невозможно представить без этого чуда элемента программирования.

Расскажу вкратце, как это работает. Функция, - это блок инструкций, который Ваша программа может вызвать. При обращении к заголовку этого блока (названии функции), он выполняется и совершает какие-то действия, задаваемые программистом. После этого, этот блок возвращает полученное значение и передаёт в главную программу. Поясню на практике. <?php . . . [переменная]=myfunc(5); вывод [переменная]; . . . функция myfunc( $[переменная_фунции] ) { возвращаемое_значение = [переменная_фунции]*[переменная_фунции]; } ?>Грубо говоря, всё выглядит так. Коротко поясню. Мы создаём какую-нибудь переменную и присваиваем ей результат выполнения функции myfunc, которая в свою очередь вычисляет значение возведения в квадрат какого-нибудь числа. Функции не исполняются сразу во время запуска программы, а исполняются только тогда, когда к ним обращаются. Может немного запутанно, но всё именно так.

Как вызвать функцию?

Для того, чтобы вызвать функцию, необходимо её создать. Хотя существуют, так же, встроенные функции. Например, это: cos, sin, md5, count, abs и т.д. Для их вызова необходимо лишь присвоить переменной искомое значение. <?php . . . $a = "1"; echo cos($a); . . . ?>Аргумент функции - это значение, передаваемое Вами ей при вызове. Аргументы функции помещаются в скобках. При создании функции Вы указываете условные имена аргументов. Потом этими именами можно пользоваться в теле функции, как локальными переменными. Вернёмся к функциям, которые создаёт сам пользователь. Это делается очень легко. Сначала создаётся тело функции, function hello() { echo "Hello, world!"; }а затем её вызываем. Причём если она не имеет параметров, то мы просто ставим круглые скобки. Чтобы вызвать эту функцию, воспользуемся лишь строчкой: hello();. Любая функция может так же возвращать значение с помощью зарезервированного слова return. Этот оператор прекращает выполнение функции и посылает возвращаемое значение в вызвавшую программу. function sum($first, $second) { $result = $first + $second; return $result; } echo sum(2,5); Результат выполнения программы будет равен 7.

Локальные и глобальные переменные

Как и в любом другом языке программирования, существую переменные, доступные только внутри функции и переменные, доступные в коде самой программы. Такие переменные называются локальные и глобальные соответственно. Внутри функции Вы не можете просто так обратиться к переменной, которая была создана вне этой функции. Если Вы попытаетесь это сделать, то создадите новую переменную с таким же именем, но локальную для данной функции. . . . $per = "Дима"; function primer() { echo "Меня зовут $per"; } primer(); В данном случае на экране появится фраза "Меня зовут". Это означает, что внутри функции primer создалась переменная $per и ей, по-умолчанию, было присвоено нулевое значение. Для того, чтобы избежать таких косяков, нужно воспользоваться оператором global. В соответствии с этим исправим вышеизложенный код: . . . $per = "Дима"; function primer() { global $per; echo "Меня зовут $per"; } primer(); Теперь должно быть всё в порядке - проблема решена. Только не стоит забывать, что если функция изменит значение внешней переменной, то такое изменение скажется на всей программе, поэтому пользоваться этим оператором нужно осторожно!

Функции двух и более аргументов

Некоторые из аргументов, передаваемые функции, можно сделать необязательными, уменьшив требовательность функции. В следующем примере это наглядно показано: . . . function font($text, $size=5) { echo "<font size="$size">$text</font>"; } font("Привет<br>", 1); font("Привет<br>", 2); font("Привет<br>", 3); font("Привет<br>", 4); font("Привет<br>", 5); font("Привет<br>", 6); font("Привет<br>"); По умолчанию, размер кегля равен 5. Если мы опускаем второй параметр у функции, то он будет равен этому значению.

Заключение

Прежде чем попрощаться, хочу обратить Ваше внимание на одном совете. Он заключается в том, чтобы вынести все написанные Вами функции в один php-файл (например, function.php). А затем, в файле, где необходимо обратиться к функции, достаточно лишь подключить function.php и всё будет готово к использованию. Это намного облегчит понимание логики в Вашей программе. Для подключения, используйте:

include ("function.php"); или
require ("function.php");

Если Вы поняли суть рассматриваемого вопроса в этой статье, то я уверен, что Вы без труда сможете пользоваться функциями в своих программах. Ещё раз повторюсь, это необходимо для того, чтобы сделать их более пригодными для внесения изменений и повторного использования.
Источник: http://web-brodilka.ru   Прочитана 727 раз.