Как сделать вызов функции внутри класса php?
Для вызова функции внутри класса используется ключевое слово self или $this-> . Например:
class MyClass public function helloWorld() echo 'Hello World!'; > public function callHelloWorld() self::helloWorld(); > > $myClass = new MyClass(); $myClass->callHelloWorld(); // => Hello World!
class MyClass public function helloWorld() echo 'Hello World!'; > public function callHelloWorld() $this->helloWorld(); > > $myClass = new MyClass(); $myClass->callHelloWorld(); // => Hello World!
Php функция внутри метода
Приведём пример синтаксиса, используемого для описания функций:
Пример #1 Псевдокод для демонстрации использования функций
Внутри функции можно использовать любой корректный PHP-код, в том числе другие функции и даже объявления классов.
Имена функций следуют тем же правилам, что и другие метки в PHP. Корректное имя функции начинается с буквы или знака подчёркивания, за которым следует любое количество букв, цифр или знаков подчёркивания. В качестве регулярного выражения оно может быть выражено так: ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$ .
Функции не обязаны быть определены до их использования, исключая тот случай, когда функции определяются условно, как это показано в двух последующих примерах.
В случае, когда функция определяется в зависимости от какого-либо условия, например, как это показано в двух приведённых ниже примерах, обработка описания функции должна предшествовать её вызову.
Пример #2 Функции, зависящие от условий
/* Мы не можем вызвать функцию foo() в этом месте,
поскольку она ещё не определена, но мы можем
обратиться к bar() */
if ( $makefoo ) function foo ()
echo «Я не существую до тех пор, пока выполнение программы меня не достигнет.\n» ;
>
>
/* Теперь мы благополучно можем вызывать foo(),
поскольку $makefoo была интерпретирована как true */
function bar ()
echo «Я существую сразу с начала старта программы.\n» ;
>
Пример #3 Вложенные функции
function foo ()
function bar ()
echo «Я не существую пока не будет вызвана foo().\n» ;
>
>
?php
/* Мы пока не можем обратиться к bar(),
поскольку она ещё не определена. */
/* Теперь мы можем вызвать функцию bar(),
обработка foo() сделала её доступной. */
Все функции и классы PHP имеют глобальную область видимости — они могут быть вызваны вне функции, даже если были определены внутри и наоборот.
PHP не поддерживает перегрузку функции, также отсутствует возможность переопределить или удалить объявленную ранее функцию.
Замечание: Имена функций регистронезависимы для символов ASCII от A до Z , тем не менее, предпочтительнее вызывать функции так, как они были объявлены.
Функции PHP поддерживают как списки аргументов переменной длины, так и значения аргументов по умолчанию. Смотрите также описания функций func_num_args() , func_get_arg() и func_get_args() для более детальной информации.
Можно вызывать функции PHP рекурсивно.
Пример #4 Рекурсивные функции
Замечание: Рекурсивный вызов методов/процедур с глубиной более 100-200 уровней рекурсии может вызвать переполнение стека и привести к аварийному завершению скрипта. В частности, бесконечная рекурсия будет считаться программной ошибкой.
User Contributed Notes
Как сделать вызов функции из другой функции php?
Вызов функции из другой функции в PHP можно сделать с помощью круглых скобок:
function firstFunction() echo 'This is the first function!'; > function secondFunction() firstFunction(); > secondFunction(); // => This is the first function!
А также можно сделать с помощью функции call_user_func()
Вызывает callback-функцию, переданную первым параметром, и передаёт остальные параметры в качестве аргументов.
function firstFunction() echo 'This is the first function!'; > function secondFunction() call_user_func('firstFunction'); > secondFunction(); // => This is the first function!