Home » Articole » Articole » Calculatoare » Programare » PHP » Funcții variabile în codarea PHP

Funcții variabile în codarea PHP

postat în: PHP 0

PHP suportă conceptul de funcții variabile. Aceasta înseamnă că, dacă un nume de variabilă are paranteze atașate, PHP va căuta o funcție cu același nume, și va încerca să o execute. Printre altele, aceasta poate fi folosită pentru a implementa apeluri inverse, tabele de funcții și așa mai departe.

Funcțiile variabile nu vor funcționa cu constructe de limbaj precum echo, print, unset(), isset(), empty(), include, require și altele asemenea. Utilizați funcțiile wrapper pentru a utiliza oricare dintre aceste construcții ca funcții variabile.

Exemplul #1 Exemplu de funcție variabilă

<?php
function
foo()
{
echo "In foo()<br />\n";
}

function bar($arg
=
'')
{
echo "In bar(); argument was '$arg'.<br
/>\n";
}

// Aceasta este o funcție
wrapper în jurul echo
function
echoit($string)
{
echo $string;
}

$func
= 'foo';
$func();
// Aceasta apelează foo()

$func
=
'bar';
$func('test');
// Aceasta apelează bar()

$func
= 'echoit';
$func('test');
// Aceasta apelează echoit()
?>

Metodele obiect pot fi apelate și cu sintaxa funcțiilor variabile.

Exemplul #2 Exemplu de metodă variabilă

<?php
class
Foo
{
function Variable()
{
$name
=
'Bar';
$this->$name();
// Aceasta apelează metoda Bar()
}

function Bar()
{
echo "This is Bar";
}
}

$foo
= new
Foo();
$funcname
=
"Variable";
$foo->$funcname();
// Aceasta apelează $foo->Variable()

?>

Când apelați metode statice, apelul funcției este mai puternic decât operatorul de proprietate statică:

Exemplul #3 Exemplu de metodă variabilă cu proprietăți statice

<?php
class
Foo
{
static $variable
=
'static property';
static function Variable()
{
echo 'Method Variable called';
}
}

echo Foo::$variable;
// Aceasta afișează 'static
property'. Are nevoie de o $variable în acest scop.
$variable
=
"Variable";
Foo::$variable();
// Aceasta apelează $foo->Variable()
citind $variable în acest scop.

?>

Exemplul #4 Apelabile complexe

<?php
class
Foo
{
static function bar()
{
echo "bar\n";
}
function baz()
{
echo "baz\n";
}
}

$func
= array("Foo",
"bar");
$func();
// afișează "bar"
$func
= array(new
Foo,
"baz");
$func();
// afișează "baz"
$func
= "Foo::bar";
$func();
// afișează "bar"
?>

Sursa: PHP Manual, licența CC BY 3.0. Traducere și adaptare: Nicolae Sfetcu

Ghid WordPress pentru dezvoltatori
Ghid WordPress pentru dezvoltatori

Resursa esențială care te va ghida pas cu pas în lumea complexă a platformei WordPress.

Nu a fost votat 19.26 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Ghid WordPress pentru începători
Ghid WordPress pentru începători

Descoperă arta gestionării site-urilor web cu WordPress!

Nu a fost votat 14.43 lei26.45 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Proiectarea, dezvoltarea şi întreţinerea siturilor web
Proiectarea, dezvoltarea şi întreţinerea siturilor web

Ghidul complet pentru proiectarea, dezvoltarea și întreținerea siturilor web, o resursă indispensabilă

Nu a fost votat 14.43 lei57.78 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *