Wywołanie funkcji o nazwie==$string

0

Cześć. Mam taki problem optymalizacyjny.

Chciałbym, aby skrypt wywoływał funkcje o nazwie przechwyconej z formularza TEXT. Kod w tym momencie wygląda tak:

<?php
$tekst_wpisany=$_POST['tekst_wpisany'];

if($tekst_wpisany=='funkcja1'){
	funkcja1();
}
else if($tekst_wpisany=='funkcja2'){
	funkcja2();
}
else if($tekst_wpisany=='funkcja3'){
	funkcja3();
}
else{
	echo 'Brak funkcji o nazwie '.$tekst_wpisany.' w zbiorach';
}

//Funkcje
function funkcja1(){
	...
}
function funkcja2(){
	...
}
function funkcja3(){
	...
}
?>

Czy jest jakaś możliwość optymalizacji tego?
Funkcja do wywołania funkcji o nazwie $zmienna?

1

A czemu nie spróbowałeś zanim zadałeś pytanie, albo nie poszukałeś? Da się i jest to bardzo proste, spróbuj tak jak Ci serce podpowiada, a jak nie to wygoogluj :)

0
<?php

$function = isset($_POST['func']) ? $_POST['func'] : '';

function foo()
{
    echo 'Foo';
}

function boo()
{
    echo 'Boo';
}

if (function_exists($function))
{
    call_user_func($function);
}
else
{
    echo 'Brak podanej funkcji w zbiorze';
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1