Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

PHP с нуля. Урок #6. Функции.

Премиум
Премиум
Статус
Оффлайн
Регистрация
3 Дек 2017
Сообщения
234
Реакции
201
А теперь поговорим о функциях.

Функция является блоком выражений, которые могут повторно использоваться в программе. Функция не будет выполнена сразу после загрузки страницы. Она выполнится только после ее вызова.
Самое понятное определение я нашел в SoloLearn
Функция определяется так:
Код:
Expand Collapse Copy
function functionName() { // Создаем функцию functionName()
    //some code
}
В этом коде мы создали пустую функцию под названием functionName.
Код:
Expand Collapse Copy
function echoTest() { // Определяем функцию echoTest
    echo "Test!"; // Тело функции - код, который будет выполняться при вызове
}
В этом коде мы определили функцию, давайте ее вызовем:
Код:
Expand Collapse Copy
echoTest(); // Выведет "Test!"
Этот код выведет "Test!", так как мы вызвали функцию, echoTest, которую как раз это и делает.
В функцию можно передавать информацию через аргументы (параметры) функции.
Аргументы указываются после имени функции в круглых скобках.
Например, эта функция выводит удвоенное число:
Код:
Expand Collapse Copy
function echoDoubled($number) // Определяем функцию с параметром $number
{
    echo $number * 2; // Выводим удвоенное значение параметра
}
Давайте ее вызовем с параметром "4":
Код:
Expand Collapse Copy
echoDoubled(4);
Этот код выведет "8", так как 4*2 = 8.
Если задать значение параметра по умолчанию, то этот параметр станет необязательным для вызова функции.
Давайте модифицируем нашу предыдущую функцию, добавив значение по умолчанию для параметра:
Код:
Expand Collapse Copy
function echoDoubled($number = 2) // Определяем функцию с параметром $number и значением по умолчанию 2
{
    echo $number * 2; // Выводим удвоенное значение параметра
}
Если ее также запустить с параметром "4", то также выведет "8".
Но если просто вызвать функцию, не передав в нее параметр,
то код выведет "4", так как значение $number по умолчанию = 2, а 2 * 2 = "4".
Параметров функции может быть несколько. Разделяются они запятой.
Код:
Expand Collapse Copy
function someFunc($param1, $param2, $param3 = 50) {
    // Some code
}
Также, вызовем ее, передав параметры через запятую:
Код:
Expand Collapse Copy
someFunc(1, 90); // Третий параметр необязателен, я могу не передавать его
Функция может возвращать значение с помощью оператора return.
Оператор return останавливает выполнение функции и отправляет значение обратно к вызывающему коду.
Код:
Expand Collapse Copy
function ret2() {
    return 2;
}

echo ret2();
Этот код выведет 2, так как функция ret2() вернула значение 2.
_________________________________________________________________________
Если у вас возникли вопросы - пишите в теме. Надеюсь, отвечу :)
Если вы нашли у меня ошибку - пишите в ЛС, чтобы не засорять тему - поправлю.
Если вы хотите дополнить меня - пишите в теме, либо в ЛС - добавлю, оставлю credits.
 
Спасибо за гайд, не останавливайся их делать.

Я только не могу понять, что возвращают функции в вебе?
 
@Рhysic, есть предложение по оформлению твоих туториалов, которые смогут немного повысить твой скилл + даст в конечном итоге неплохой сборник документированного материала:
1) изучи и настрой себе Git и собирай в одном разделе свои темы, но оформленные уже более на высоком уровне и как полагается.
2) Присмотрись к системе документирования Doxygen( очень полезная вещь на самом деле, которая сможет уже автоматом собирать документацию к твоему проекту, которая позволит пробежать по основным моментам твоего проекта не разбирая каждую строку исходного кода)

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

К тому же знания лишними не бывают))
 
Назад
Сверху Снизу