Как вызвать функцию PHP
Пусть у нас есть функция func , которая возвращает какой-то текст:
Для того, чтобы вызвать нашу функцию, необходимо написать ее имя и круглые скобки, вот так: func . Результат работы функции мы можем вывести на экран, а можем записать в переменную и потом что-то с ним сделать.
Давайте для примера выведем результат работы нашей функции на экран:
echo func(); // выведет ‘text’ ?>?php>
А теперь давайте запишем результат работы функции в переменную:
Пусть у нас теперь есть функция, которая параметром принимает число, а возвращает квадрат этого числа:
Найдем с помощью этой функции квадрат числа 3 :
echo square(3); // выведет 9 ?>?php>
Давайте теперь не будем выводить квадрат тройки на экран, а вначале запишем его в переменную, затем прибавим к этой переменной число 1 и выведем результат на экран:
PHP: Определение и вызов функции
Функция — это именованный блок кода, в данном случае на языке PHP, который определяется один раз, а затем может вызываться на исполнение сколько угодно раз.
Определение функции выполняется с помощью ключевого слова function за которым указываются следующие компоненты:
- Идентификатор , определяющий имя функции. Он будет использован для создания новой переменной, которой будет присвоена функция. Имена функций следуют тем же правилам, что и именование переменных. Примечание: имена функций не чувствительны к регистру букв.
- Пара круглых скобок вокруг списка из нуля или более идентификаторов, разделенных запятыми. Эти идентификаторы будут определять имена параметров функции. В теле функции они используются в качестве локальных переменных.
- Пара фигурных скобок с нулем или более инструкций. Эти инструкции составляют тело функции: они выполняются при каждом вызове функции.
Синтаксис определения функции выглядит следующим образом:
function имя_функции([параметры])
Квадратные скобки ( [] ) означают необязательность. Теперь приведем простой пример определения функции:
Для вызова функции используется оператор вызова, представляющий из себя пару круглых скобок. Завершается вызов функции как и все инструкции точкой с запятой ( ; ):
// вызов функции hello(); ?>
При вызове функции исполняются инструкции, расположенные в ее теле.
Функции допускается определять в любом месте программы, это значит, что они не обязательно быть определены до их использования, исключая тот случай, когда функции определяются условно:
> /* Теперь мы можем вызывать функцию foo(), поскольку $makefoo была интерпретирована как true */ foo(); function bar() < echo "Я существую сразу с начала старта программы.\n"; >?>
Все функции в PHP имеют глобальную область видимости — они могут быть вызваны вне функции, даже если были определены внутри и наоборот:
> /* пока нельзя вызвать func2(), поскольку она еще не определена. */ func1(); /* Теперь можно вызвать функцию func2(), вызов func1() сделал ее доступной. */ func2(); ?>
Чаще всего функции работают с каким-либо переданными ей значениями. Для того, чтобы функции можно было передать некоторые значения, в ней должны быть указаны параметры. Эти параметры по сути являются обычными переменными, которые инициализируются переданными значениями при вызове функции.
С этой темой смотрят:
- Параметры и аргументы функции
- Анонимные функции
- Литералы, идентификаторы и инструкции
- Переменные
- Область видимости
Копирование материалов с данного сайта возможно только с разрешения администрации сайта
и при указании прямой активной ссылки на источник.
2011 – 2023 © puzzleweb.ru | razumnikum.ru
Обращение к функциям через переменные
PHP поддерживает концепцию переменных функций. Это означает, что если к имени переменной присоединены круглые скобки, PHP ищет функцию с тем же именем, что и результат вычисления переменной, и пытается ее выполнить. Эту возможность можно использовать для реализации обратных вызовов, таблиц функций и множества других вещей.
Переменные функции не будут работать с такими языковыми конструкциями как echo , print , unset() , isset() , empty() , include , require и другими подобными им операторами. Вам необходимо реализовывать свою функцию-обертку (wrapper) для того, чтобы приведенные выше конструкции могли работать с переменными функциями.
Пример #1 Работа с функциями посредством переменных
function bar ( $arg = » )
echo «In bar(); argument was ‘ $arg ‘.
\n» ;
>
// Функция-обертка для echo
function echoit ( $string )
echo $string ;
>
$func = ‘foo’ ;
$func (); // Вызывает функцию foo()
$func = ‘bar’ ;
$func ( ‘test’ ); // Вызывает функцию bar()
$func = ‘echoit’ ;
$func ( ‘test’ ); // Вызывает функцию echoit()
?>
Вы также можете вызвать методы объекта, используя возможности PHP для работы с переменными функциями.
Пример #2 Обращение к методам класса посредством переменных
class Foo
function Variable ()
$name = ‘Bar’ ;
$this -> $name (); // Вызываем метод Bar()
>
?php
function Bar ()
echo «This is Bar» ;
>
>
$foo = new Foo ();
$funcname = «Variable» ;
$foo -> $funcname (); // Обращаемся к $foo->Variable()
При вызове статических методов, вызов функции «сильнее» чем оператор доступа к статическому свойству:
Пример #3 Пример вызова переменного метода со статическим свойством
class Foo
static $variable = ‘static property’ ;
static function Variable ()
echo ‘Method Variable called’ ;
>
>
?php
echo Foo :: $variable ; // Это выведет ‘static property’. Переменная $variable будет разрешена в нужной области видимости.
$variable = «Variable» ;
Foo :: $variable (); // Это вызовет $foo->Variable(), прочитав $variable из этой области видимости.
С версии PHP 5.4.0, можно вызывать callable функцию помещенную в переменную.
Пример #4 Сallable-фукнции
class Foo
static function bar()
echo «bar\n»;
>
function baz()
echo «baz\n»;
>
>
$func = array(«Foo», «bar»);
$func(); // prints «bar»
$f = array(new Foo, «baz»);
$func(); // prints «baz»
$f = «Foo::bar»;
$func(); // выведет «bar» в PHP 7.0.0 и выше; в предыдущих версиях это приведет к фатальной ошибке
Список изменений
Версия | Описание |
---|---|
7.0.0 | ‘ClassName::methodName’ доступна как функция-переменная. |
5.4.0 | Массивы, являющиеся корректными callable-методами, доступны как функции-переменные. |
PHP — Функции
От автора: функции PHP похожи на функции других языков программирования. Функция представляет собой фрагмент кода, который принимает другой код в качестве параметра, выполняет определенную обработку и возвращает значение.
Мы уже рассмотрели много таких функций, например fopen() и fread() и т.д. Это встроенные функции, но PHP предоставляет нам возможность создавать собственные функции. Вы должны четко понимать, что существуют два отдельных аспекта:
Создание функции PHP
Вызов функции PHP
На самом деле вам вряд понадобиться создавать свою собственную функцию, потому что в PHP уже доступны тысячи функций из библиотек, созданных для разных сфер применения, и вам просто нужно вызвать нужную функцию. Полный перечень функций вы можете найти в Справочнике по функциям PHP.
Создание функции PHP
Собственную PHP-функцию создать очень просто. Предположим, вы хотите создать функцию PHP, которая просто выводит в браузере короткое сообщение, когда вы ее вызываете. В следующем примере мы создаем функцию writeMessage(), а затем вызывает ее сразу после создания.
Обратите внимание, что при создании функции ее имя должно начинаться с ключевого слова function, и весь код PHP должен быть помещен внутри скобок < >, как в приведенном ниже примере: