Делаем добро вместе Детальнее

#10 – Функции. Область видимости

#10 – Функции. Область видимости

Функции в PHP выполняют важную роль. Они обеспечивают сокращение кода за счет вынесения его в отдельные места. За урок мы научимся создавать функции и передавать в них значения.

Видеоурок

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


Многие путают функции и методы и не понимают отличий между ними. На самом деле отличий нет, так как что методы, что функции являются одним и тем же. Функции что записаны вне классов называют функциями, а функции что записаны внутри классов называются методами. 


Точно такая же ситуация обстоит с переменным. В классах переменные называются полями, а вне классов - переменными.


В PHP функции создаются при помощи ключевого слова function. Каждая функция может иметь какие-либо параметры или же не иметь их вовсе. Функции способны что-либо возвращать в ходе выполнения кода, если это требуется.


Создание функции

На основе всех данных наша функция будет выглядеть следующим образом:

function test() {
	echo "Вывод чего-либо в консоль";
}

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

function test($word) {
	echo $word;
}

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


Если функция должна что-либо вернуть, то прописываем тип данных который будет возвращен. Для возвращения данных используем ключевое слово return:

function test($some_number) {
	$some_number *= 2;
	return $some_number;
}


Область видимости

В PHP есть несколько полей видимости: локальная и глобальная. Если записать глобальную переменную, то такая переменная будем видна повсюду и с ней можно работать отовсюду в документе. Если записать локальную переменную, то такая переменная будет видна лишь в той области, где она записана.


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


Если из функции мы хотим получить доступ к переменной записанной вне функции, то необходимо прописывать ключевое слово global:

$some = "Тест";

function getValue() {
	// echo $some; // Ничего не выведет
	echo global $some; // Выведет слово "Тест"
}
Помимо этого можно создавать статические переменные, которые не будут становиться пустыми при новом их использовании:
function getNewValue() {
	// Создаем статическую переменную
	static $count = 0;
	$count += 4;
	echo $count;
}

getNewValue(); // Выведет 4
getNewValue(); // Выведет 8
getNewValue(); // Выведет 12
// и так далее

Исходный код

Весь код будет доступен после подписки на проект!

Задание к уроку

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

Большое задание по курсу

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

Также стоит посмотреть

Изучение технологии Ajax
7 уроков
Создание динамического веб сайта
22 урока
Фреймворк Laravel: cоздание веб сайта
8 уроков
Видеокурс по PHP, MySQL / Создание динамического сайта
Комментарии для сайта Cackle